Please response to the PR ${PR_URL}. The PR isn''t updated in 48 hours.
Quick info.
If no response from ARM review board, please send email to armapireview@microsoft.com.
If need immediate ARM review, please get ARM review oncall contact point from ICM https://icm.ad.msft.net/imp/v3/oncall/current under Service "Azure Resource Manager" and Team "RP Manifest Approvers"
If no response from Azure API review board, please send email to azureapirbcore@microsoft.com.
If you have problem to fix CI task errors, please send email to Visual Studio China Swagger and Tool team vscswagger@microsoft.com.
If you want to opt out from Swagger reviewing for out of office period, please set vacation date at https://inframonitorweb1.azurewebsites.net/Home/MyView.
Best regards, Azure Management Experience '
- subject: "Action Required: Please respond to PR ${PR_URL}"
+ message: '
Dear Swagger reviewer,
Please response to the PR ${URL} . The PR isn''t updated in 48 hours.
Quick info.
If no response from ARM review board, please send email to armapireview@microsoft.com.
If need immediate ARM review, please get ARM review oncall contact point from ICM https://icm.ad.msft.net/imp/v3/oncall/current under Service "Azure Resource Manager" and Team "RP Manifest Approvers"
If no response from Azure API review board, please send email to azureapirbcore@microsoft.com.
If you have problem to fix CI task errors, please send email to Visual Studio China Swagger and Tool team vscswagger@microsoft.com.
If you want to opt out from Swagger reviewing for out of office period, please set vacation date at https://inframonitorweb1.azurewebsites.net/Home/MyView.
Best regards, Azure Management Experience '
+ subject: "Action Required: Please respond to PR ${URL}"
description: "None initial response in 48 hours. For public repo."
name: "[PUBLIC] initial response notification"
@@ -15,23 +16,33 @@
action: sendEmailToAssignee
repoWhitelist:
- Azure/azure-rest-api-specs-pr
+ scope: pull_request
args:
booleanFilterExpression: "!(WaitForARMFeedback||Approved-OkToMerge||(DoNotMerge&&(ARMSignedOff||Approved)))"
limit: 48h
- message: '
Dear Swagger reviewer,
Please response to the PR ${PR_URL}. The PR isn''t updated in 48 hours.
Quick info.
If no response from ARM review board, please send email to armapireview@microsoft.com.
If need immediate ARM review, please get ARM review oncall contact point from ICM https://icm.ad.msft.net/imp/v3/oncall/current under Service "Azure Resource Manager" and Team "RP Manifest Approvers"
If no response from Azure API review board, please send email to azureapirbcore@microsoft.com.
If you have problem to fix CI task errors, please send email to Visual Studio China Swagger and Tool team vscswagger@microsoft.com.
If you want to opt out from Swagger reviewing for out of office period, please set vacation date at https://inframonitorweb1.azurewebsites.net/Home/MyView.
Best regards, Azure Management Experience '
- subject: "Action Required: Please respond to PR ${PR_URL}"
+ message: '
Dear Swagger reviewer,
Please response to the PR ${URL} . The PR isn''t updated in 48 hours.
Quick info.
If no response from ARM review board, please send email to armapireview@microsoft.com.
If need immediate ARM review, please get ARM review oncall contact point from ICM https://icm.ad.msft.net/imp/v3/oncall/current under Service "Azure Resource Manager" and Team "RP Manifest Approvers"
If no response from Azure API review board, please send email to azureapirbcore@microsoft.com.
If you have problem to fix CI task errors, please send email to Visual Studio China Swagger and Tool team vscswagger@microsoft.com.
If you want to opt out from Swagger reviewing for out of office period, please set vacation date at https://inframonitorweb1.azurewebsites.net/Home/MyView.
Please review PR ${PR_URL}, the PR is waiting for ARM review over 3 days. Thanks.
Quick info
If you have feedback about the notification email, please contact us at vscswagger@microsoft.com.
After reviewing, please remove “WaitForARMFeedback” label from PR to avoid receiving notification on the same PR.
Please do not reply to this email, this is an automatic generated email.
Best regards, Azure Management Experience"
+ limit: 3d
+ subject: "Action Required: Please help to review PR ${URL}"
+ message: "
Dear ARM review board,
Please review PR ${URL} , the PR is waiting for ARM review over 3 days. Thanks.
Quick info
If you have feedback about the notification email, please contact us at vscswagger@microsoft.com.
After reviewing, please remove “WaitForARMFeedback” label from PR to avoid receiving notification on the same PR.
Please do not reply to this email, this is an automatic generated email.
Best regards, Azure Management Experience"
to: armapireview@microsoft.com
description: "send email to ARM team for over 5 days PRs labelled with WaitForARMFeedback"
name: "send email to ARM team"
+
+- scheduleTask:
+ action: sendEmailToAssignee
+ scope: issue
+ args:
+ booleanFilterExpression: "triage"
+ limit: 48h
+ message: "
Dear Swagger reviewer,
Please response to the issue ${URL} . The issue isn't updated in 48 hours.
Quick info.
If you have any question, please send email to Visual Studio Swagger and Tool team vscswagger@microsoft.com.
Best regards, Azure Management Experience "
+ subject: "Action Required: Please respond to issue ${URL}"
+ cc: Ankun.Ning@microsoft.com
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index f23f12deef48..000000000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "recommendations": [
- "EditorConfig.EditorConfig",
- "esbenp.prettier-vscode",
- "docsmsft.docs-authoring-pack"
- ]
-}
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index fe6da0a7d616..000000000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "type": "node",
- "request": "launch",
- "name": "Mocha Tests",
- "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
- "args": [
- "--timeout",
- "999999",
- "--colors",
- "${workspaceFolder}/test/syntax.js"
- ],
- "internalConsoleOptions": "openOnSessionStart"
- },
- {
- "type": "node",
- "request": "launch",
- "name": "Launch Program",
- "program": "${file}"
- }
- ]
-}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 81c95f4d9519..000000000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,27 +0,0 @@
-// Place your settings in this file to overwrite default and user settings.
-{
- "json.schemas":[
- {
- "fileMatch":[
- "/**/specification/*.json"
- ],
- "url":"https://raw.githubusercontent.com/Azure/autorest/master/schema/swagger-extensions.json"
- },
- {
- "fileMatch":[
- "/**/examples/*.json"
- ],
- "url":"https://raw.githubusercontent.com/Azure/autorest/master/schema/example-schema.json"
- },
- {
- "fileMatch":[
- "/**/composite*.json"
- ],
- "url":"https://raw.githubusercontent.com/Azure/autorest/master/schema/composite-swagger.json"
- }
- ],
- "typescript.tsdk": "node_modules\\typescript\\lib",
- "[json]": {
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- }
-}
diff --git a/CODEOWNERS b/CODEOWNERS
index 9033be8145a9..b88af5dc9848 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -34,19 +34,20 @@
/specification/insights/ @gucalder
/specification/intune/ @vrmurthy01
/specification/iothub/ @rkmanda
-/specification/keyvault/ @schaabs
+/specification/keyvault/ @schaabs @heaths
/specification/logic/ @pankajsn @tonytang-microsoft-com
/specification/machinelearning/ @nonstatic2014
/specification/machinelearningcompute/ @shutchings
/specification/managementpartner/ @jeffrey-ace
-/specification/mediaservices/ @brianblum
+/specification/mediaservices/ @giakas
/specification/mobileengagement/ @pshrosbree
/specification/monitor/ @gucalder
/specification/mysql/ @qingqingyuan
-/specification/network/ @MikhailTryakhov @number213
+/specification/network/ @MikhailTryakhov @number213 @solhaile @v-shhatt
/specification/notificationhubs/ @amolr @smithab
/specification/operationalinsights/ @sw47
/specification/operationsmanagement/ @dashimi16
+/specification/peering/ @rileymckenna
/specification/policyinsights/ @bulentelmaci
/specification/postgresql/ @qingqingyuan
/specification/powerbidedicated/ @tarostok
@@ -58,7 +59,8 @@
/specification/relay/ @sethmanheim @v-ajnava
/specification/resources/ @Tiano2017 @rajshah11 @vivsriaus
/specification/scheduler/ @pinwang81
-/specification/search/ @brjohnstmsft
+/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy
+/specification/search/resource-manager/ @abhi1509 @miwelsh @tjacobhi
/specification/serialconsole/ @amitchat @craigw @asinn826
/specification/service-map/ @daveirwin1
/specification/servicebus/ @sazeesha @v-ajnava
diff --git a/README.md b/README.md
index b7eca6bedcdc..0e513616f68c 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,7 @@ The structure should appear like so:
Currently, the specifications are expected to be in Swagger JSON format
## Next steps
-The next step in the process after a spec is completed is to generate SDKs and API reference documentation. Go to the [Azure Developer Experience guide](https://github.com/Azure/adx-documentation-pr) for more information.
+The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're Microsoft employee, go to the [Azure Developer Experience guide](https://github.com/Azure/adx-documentation-pr) for more information.
---
_This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments._
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index e21073678f83..99db62225099 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,6 +1,12 @@
name: "Azure OpenAPI"
-trigger: none
+trigger:
+ branches:
+ include:
+ - master
+
+pr:
+ autoCancel: false
variables:
TRAVIS: 'true'
@@ -19,6 +25,6 @@ jobs:
- template: .azure-pipelines/ModelValidation.yml
- template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/LintDiff.yml
-- template: .azure-pipelines/SwaggerToSDK.yml
- template: .azure-pipelines/NetworkValidation.yml
- template: .azure-pipelines/Spellcheck.yml
+- template: .azure-pipelines/PrettierCheck.yml
diff --git a/custom-words.txt b/custom-words.txt
index a396d98544d2..e18e03192c18 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -7,6 +7,7 @@ ABFS
Accel
ACCELCONTAINER
acceptors
+accesskey
accesspoint
accountid
accountname
@@ -88,6 +89,8 @@ apimusers
apimversionsets
apitoken
APNS
+appconfig
+appid
appinsights
applynetworkconfigurationupdates
appservice
@@ -124,10 +127,12 @@ autogenerate
autogenerated
Autogrow
autokey
+automations
autopatching
autopool
autorest
autoscale
+autoscaler
autoscalesettings
autoscaling
Avro
@@ -154,6 +159,7 @@ azureml
azuresql
azurestack
azurestorageaccounts
+azuresynapse
azuretable
azurewebsites
backend
@@ -171,6 +177,7 @@ Baidu
bangla
baremetal
BATCHAI
+batchmanaged
BAYESIANOPTIMIZATION
BCDR
BCWG
@@ -195,6 +202,7 @@ bingwebsearch
Bitbucket
Bitlocker
bitness
+bitrates
bitstream
biztalk
blobfuse
@@ -276,6 +284,7 @@ CNAME
cntk
CODEGEN
codegeneration
+codemirror
cognitiveservices
colls
colocation
@@ -421,6 +430,7 @@ devtestlab
devtestlabs
dhcp
diagnosticcontext
+digitaltwins
DIMM
disableautoscale
disablescheduling
@@ -462,6 +472,7 @@ enableautoscale
enablelog
enablement
enablescheduling
+ename
endpointkeys
endpointname
endswith
@@ -480,6 +491,7 @@ Español
estaba
Etag
Ethereum
+evalue
evaluateautoscale
eventcategories
eventgrid
@@ -539,6 +551,7 @@ FQDNs
Français
frontdoor
fsaction
+Fulfilment
Fulltext
fullyqualified
galician
@@ -719,6 +732,7 @@ kafkarest
Kaliningrad
Kbps
KECA
+kernelspec
keyname
keyspace
keyspaces
@@ -742,8 +756,10 @@ kubeconfigs
kubenet
kubernetes
kusto
+kvset
l'avion
labaccounts
+labelset
labservices
Lajolla
largefacelists
@@ -780,6 +796,7 @@ listsyncfunctiontriggerstatus
listsyncstatus
liveevent
liveoutput
+livyid
loadbalancer
localbusinesses
localcategories
@@ -915,6 +932,7 @@ n'recognition
nagios
namespace's
nanoserver
+nbformat
Nccl
nchar
ndjson
@@ -948,6 +966,7 @@ nonpaged
nonreadable
nonstarted
Nonsupported
+nopublicipaddresses
northcentralus
northeurope
nostore
@@ -957,6 +976,7 @@ notstarted
nouploadcache
nsdname
nsku
+nsxt
ntext
ntlm
numrecords
@@ -1055,6 +1075,7 @@ poolusagemetrics
portalsettings
postbackup
Postgre
+Postgres
postgresql
postrestore
powerbi
@@ -1110,6 +1131,7 @@ qnormal
querylogs
querypool
querystring
+querytriggers
Queretaro
queueservices
quickbooks
@@ -1221,6 +1243,7 @@ REVOKEACE
rgname
rhel
Rolledback
+Rollforward
rollouts
rolloverdetails
rootfs
@@ -1290,7 +1313,9 @@ servicemembers
servicerunners
servicestats
servicetopology
+servicetopologies
serviceunit
+serviceunits
SETACL
SETEXPIRY
setissuers
@@ -1298,6 +1323,7 @@ SETOWNER
SETPERMISSION
setsas
setvpnclientipsecparameters
+sfhealthid
sfpkg
sharded
sharedkey
@@ -1352,7 +1378,9 @@ sparql
SPDX
SQLAG
SQLDB
+SQLDW
SQLMI
+SQLRDS
sqlvirtualmachine
sqlvm
Sqoop
@@ -1446,9 +1474,11 @@ taskcompletion
taskcounts
taskfailure
tasksuccess
+Taxii
templated
templatelink
templeton
+temporarydisk
tensorflow
teradata
terminatejob
@@ -1474,6 +1504,8 @@ tombstoned
toolchain
toolset
tooltips
+traceback
+traceroute
trafficmanager
trafficmanageranalytics
trafficmanagerprofiles
@@ -1495,6 +1527,7 @@ ukwest
Ulaanbaatar
unallocated
unattend
+unbilled
Unclaim
Undelete
undeleted
@@ -1558,6 +1591,7 @@ userflows
userid
userpreference
usersetting
+usermanaged
USQL
VAIDK
varbinary
@@ -1569,6 +1603,7 @@ vaultusages
vcenter
Vcore
Vcores
+vcsa
Vertica
Vfyc
vhds
@@ -1581,6 +1616,7 @@ virtualmachines
virtualnetworkgateways
virtualnetworkrules
virtualnetworks
+Virtustream
viruela
visualsearch
visualstudio
@@ -1592,10 +1628,12 @@ vmextension
VMILR
vmimage
vmname
+vmotion
VMQS
vmsizes
VMSS
VMSSVM
+vmuuid
vmware
vmwaretools
VMXNET
@@ -1647,6 +1685,7 @@ Whitelistings
Whois
Widevine
windowsazuremediaservices
+windowsesu
wlmengg
workbooktemplates
Workernode
@@ -1673,3 +1712,13 @@ zset
MSAZRUSGO
hypervcollectors
vmwarecollectors
+updatepolicy
+createbsl
+deletebsl
+getbsl
+getactivesessions
+disconnectactivesessions
+bsls
+sessionids
+Dsms
+cloudManifestFiles
\ No newline at end of file
diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md
index f58660465f5e..caa88d0ad563 100644
--- a/documentation/ci-fix.md
+++ b/documentation/ci-fix.md
@@ -8,7 +8,7 @@ Please add your words to `./custom-words.txt` if you think you have the correct
## Prettier check
-Please run the following command:
+Please run the following command (from an administrator Node.js command prompt if running on Windows):
```
npm install; npm run prettier-fix
@@ -19,3 +19,5 @@ Or if you want to fix specified service:
```
npm install; npm run prettier -- --write "specification//**/*.json"
```
+
+Then please commit and push changes made by prettier.
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 9ea784b53e94..0a357da13333 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -60,6 +60,12 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R2057](#r2057) | [InvalidSkuModel](#r2057) | ARM OpenAPI(swagger) specs |
| [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs |
| [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs |
+| [R4004](#r4004) | [OperationIdRequired](#r4004) | ARM OpenAPI(swagger) specs |
+| [R3020](#r3020) | [PathResourceProviderNamePascalCase](#r3020) | ARM OpenAPI(swagger) specs |
+| [R3021](#r3021) | [PathResouceTypeNameCamelCase](#r3021) | ARM OpenAPI(swagger) specs |
+| [R3015](#r3015) | [EnumMustHaveType](#r3015) | ARM OpenAPI(swagger) specs |
+| [R3024](#r3024) | [EnumUniqueValue](#r3024) | ARM OpenAPI(swagger) specs |
+| [R3029](#r3029) | [EnumMustNotHaveEmptyValue](#r3024) | ARM OpenAPI(swagger) specs |
### SDK Violations
@@ -118,7 +124,9 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R2064](#r2064) | [LROStatusCodesReturnTypeSchema](#r2064) | ARM and Data plane OpenAPI(swagger) specs |
| [R2023](#r2023) | [SummaryAndDescriptionMustNotBeSame](#r2023) | ARM and Data plane OpenAPI(swagger) specs |
| [R2010](#r2010) | [LongRunningOperationsOptionsValidator](#r2010) | ARM and Data plane OpenAPI(swagger) specs |
-
+| [R2007](#r2007) | [LongRunningOperationsWithLongRunningExtension](#r2007) | ARM OpenAPI(swagger) specs |
+| [R2029](#r2029) | [PageableOperation](#r2029) | ARM and Data plane OpenAPI(swagger) specs |
+
### Documentation
#### Documentation Errors
@@ -708,13 +716,13 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM OpenAPI(swagger) specs
-**Output Message**: Multiple resource providers are not allowed in a single spec. More than one the resource paths were found: '{0}'.
+**Output Message**: The last resource provider '{0}' doesn't match the namespace.
-**Description**: Verifies whether more than one resource providers exists in the specification or not.
+**Description**: Verifies whether the last resource provider matches namespace or not. E.g the path /providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Insights/extResource/{extType}’ is allowed only if Microsoft.Insights matches the namespace (Microsoft.Insights).
-**Why the rule is important**: Per the [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), each OpenAPI(swagger) specification must contain one resource provider.
+**Why the rule is important**: Per the [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), each OpenAPI(swagger) specification must contain one resource provider. So the last resource provider must match with the resource provider namespace.
-**How to fix the violation**: One OpenAPI(swagger) specification must have one resource provider. Please create multiple OpenAPI(swagger) specs, each for one provider. Please refer
+**How to fix the violation**: One OpenAPI(swagger) specification must locate in proper namespace. Namespace is parent folder. E.g. Microsoft.Insights. Please make sure the last resource provider name matches the namespace name.
[Literate Configuration](https://github.com/Azure/autorest/blob/185e337137c990b9cc1b8ebbb272e76eeeef43a1/docs/user/literate-file-formats/configuration.md).
**Impact on generated code**: N/A.
@@ -1401,10 +1409,14 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM OpenAPI(swagger) specs
-**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity. Model definition '{0}' has extra properties ['{1}'].
+**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemdata. Model definition '{0}' has extra properties ['{1}'].
**Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), top level properties of a resource should be only ones from the allowed set.
+**CreatedAt** : N/A
+
+**LastModifiedAt** : February 18, 2020
+
**Why the rule is important**: [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md).
**How to fix the violation**: Consider moving extra properties into "properties" bag of the resource model.
@@ -1655,11 +1667,56 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message**: Properties of a PATCH request body must not be {0}. PATCH operation: '{1}' Model Definition: '{2}' Property: '{3}'
**Description**: A request parameter of the Patch Operation must not have a required/default value.
+But it's allowed when all required properties are marked as discriminator, because the discriminator must be required.
+
+**CreatedAt** : N/A
+
+**LastModifiedAt** : February 18, 2020
**Why the rule is important**: A PATCH operation is used to update properties of a resource. So, If the resource has 'X' number of properties and if you wish to change one of them, then a PATCH request could be sent with a value for that specified property. In other words, all the properties in the PATCH request are updated. Now, if any of the values are marked as required/default, it would force the system to update it always which is not the intention of the PATCH operation.
**How to fix the violation**: Ensure that the request parameter of the Patch Operation does not have a required/default value.
+**Good Examples**: The following is a good example:
+```json
+......
+......
+ "patch": {
+ "tags": [
+ "SampleTag"
+ ],
+ "operationId": "Foo_Update",
+ "description": "Test Description",
+ "parameters": [
+ {
+ "name": "foo_patch",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/FooRequestParams"
+ },
+ "description": "foo patch request"
+ }
+ ]
+ }
+......
+......
+ "definitions": {
+ "FooRequestParams": {
+ "properties": {
+ "prop0": {
+ "type": "string"
+ }
+ },
+ "discriminator": "prop0",
+ "required": [
+ "prop0"
+ ]
+ }
+ }
+......
+......
+```
+
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
### R4000 ParameterDescriptionRequired
@@ -1837,3 +1894,343 @@ or
```
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+
+### R4004 OperationIdRequired
+
+**Category** : ARM Warning
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : Missing operationId. path:'${operation path}' operation:'${operation}'.
+
+**Description** : Each operation must has a unique operationId.
+
+**CreatedAt** : February 18, 2020
+
+**LastModifiedAt** : February 18, 2020
+
+**Why this rule is important**: Per [creating-swagger](creating-swagger.md#Paths),The operationId is used to determine the generated method name.
+
+**How to fix the violation**: Add the right operationId for each operation
+
+### R3020 PathResourceProviderNamePascalCase
+
+**Category** : ARM Warning
+
+**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
+
+**Output Message** : Resource provider naming must follow the pascal case. Path: {your path}
+
+**Description** :
+
+Resource provider naming in path SHOULD follow the pascal case. (e.g. Microsoft.Insights/components/proactiveDetectionConfigs)
+
+For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#172-casing
+
+**CreatedAt**: February 18, 2020
+
+**LastModifiedAt**: February 18, 2020
+
+**How to fix the violation**:
+
+Rename resource provider as pascal case in path.
+
+Eg: In this case, you need to replace `Microsoft.computer` with `Microsoft.Computer` to follw pascal case.
+
+
+Invalid:
+
+```
+paths : { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.computer/{name}" : {
+ "get": {
+ ...
+ }
+ "post": {
+ ...
+ }
+ }
+}
+```
+
+Valid:
+
+
+```
+paths : { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Computer/{name}" : {
+ "get": {
+ ...
+ }
+ "post": {
+ ...
+ }
+ }
+}
+```
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R3021 PathResouceTypeNameCamelCase
+
+**Category** : ARM Warning
+
+**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
+
+**Output Message** : Resource type naming SHOULD follow camel case. Path: {your path}
+
+**Description** :
+
+Resource type or other identifiers (include: namespace, entityTypes) SHOULD follow camel case. (e.g. Microsoft.Insights/components/proactiveDetectionConfigs, not ProactiveDetectionConfig)
+
+For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#172-casing
+
+**CreatedAt**: February 18, 2020
+
+**LastModifiedAt**: February 18, 2020
+
+**How to fix the violation**:
+
+Rename resource type or other identifiers as camel case in path.
+
+Eg: In this case, you need to replace `ResourceGroups` with `resourceGroups` to follw camel case.
+
+
+Invalid:
+
+```
+paths : { "/subscriptions/{subscriptionId}/ResourceGroups/{resourceGroupName}/providers/Microsoft.Computer/{name}" : {
+ "get": {
+ ...
+ }
+ "post": {
+ ...
+ }
+ }
+}
+```
+
+Valid:
+
+
+```
+paths : { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Computer/{name}" : {
+ "get": {
+ ...
+ }
+ "post": {
+ ...
+ }
+ }
+}
+```
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R3024 EnumUniqueValue
+
+**Category** : ARM Warning
+
+**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
+
+**Output Message** : Enum must not contain case-insensitive duplicated value and make sure every value in enum unique.
+
+**Description** : Case-insensitive value in enum mean the same value.
+
+**CreatedAt**: February 18, 2020
+
+**LastModifiedAt**: February 18, 2020
+
+**How to fix the violation**:
+
+Remove duplicated value in enum.
+
+Eg: In this case, you need to remove 'Failed' or 'FAILED'.
+
+
+Invalid:
+
+```
+"enum": [
+ "Success",
+ "Failed",
+ "FAILED"
+]
+```
+
+Valid:
+
+
+```
+"enum": [
+ "Success",
+ "Failed",
+]
+```
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R3015 EnumMustHaveType
+
+**Category** : ARM Warning
+
+**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
+
+**Output Message** : Enum must define its type. All values in an enum must adhere to the specified type.
+
+**Description** : Enum must define its type object or string. If not it will block SDK generation.
+
+**CreatedAt**: February 18, 2020
+
+**LastModifiedAt**: February 18, 2020
+
+**How to fix the violation**:
+
+Define type in enum.
+
+Invalid:
+
+```
+"status":{
+ "description":"The state code.",
+ "enum":[
+ "Success",
+ "Failed"
+ ],
+ "readOnly":true,
+ "x-ms-enum":{
+ "name":"RespStatus",
+ "modelAsString":true
+ }
+}
+```
+
+Valid:
+
+
+```
+"status":{
+ "description":"The state code.",
+ "enum":[
+ "Success",
+ "Failed"
+ ],
+ "readOnly":true,
+ "type": "string",
+ "x-ms-enum":{
+ "name":"RespStatus",
+ "modelAsString":true
+ }
+}
+```
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+
+### R3029 EnumMustNotHaveEmptyValue
+
+**Category** : ARM Warning
+
+**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
+
+**Output Message** : Enum value must not contain empty value.
+
+**Description** : Empty value is not allowed in enum value and meanless.
+
+**CreatedAt**: February 18, 2020
+
+**LastModifiedAt**: February 18, 2020
+
+**How to fix the violation**:
+
+Remove empty string from enum.
+
+Invalid:
+
+```
+"enum":[
+ "Success",
+ "Failed",
+ " "
+]
+```
+
+Valid:
+
+
+```
+"enum":[
+ "Success",
+ "Failed",
+]
+```
+
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R2007 LongRunningOperationsWithLongRunningExtension
+
+**Category** : SDK Warning
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The operation '{0}' returns 202 status code, which indicates a long running operation, please enable 'x-ms-long-running-operation'.
+
+**Description** : Per [x-ms-long-running-operation](./swagger-extensions.md#x-ms-long-running-operation) ,The operation which returns 202 status code indicates a long running operation. Every long running operation must have the x-ms-long-running-operation enabled.
+
+**How to fix the violation**:
+Having the "x-ms-long-running-operation" enabled.
+Eg:
+```json
+......
+......
+ "put": {
+ "operationId": "Foo_Create",
+ "responses": {
+ "202": {
+ "description": ""
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+......
+......
+```
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+
+### R2029 PageableOperation
+
+**Category** : SDK Warning
+
+**Applies to** : ARM and Data plane OpenAPI(swagger) specs
+
+**Output Message** : Based on the response model schema, operation '${operationId}' might be pageable. Consider adding the x-ms-pageable extension.
+
+**Description** : This rule was introduced to check if a pageable operation has x-ms-pageable enabled.
+
+**How to fix the violation**:
+Having the x-ms-pageable enabled if the operation is pageable.
+Eg:
+```json
+......
+......
+ "get": {
+ "operationId": "Foo_List",
+ "responses": {
+ "200": {
+ "description": ". ",
+ "schema": {
+ "$ref": "#/definitions/ant"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+......
+......
+```
+
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
diff --git a/package-lock.json b/package-lock.json
index 54053ae51a0c..8e980689a258 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,9 +5,9 @@
"requires": true,
"dependencies": {
"@azure/avocado": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.1.tgz",
- "integrity": "sha512-GOdVNS/yr7wSQVUGfvR4/nP6+UDBrxqT/McvTsKuy1vWV8BwgKx3JZLB/9mrWYhXQZ257AQkVO9nepxRu9/PsQ==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.6.2.tgz",
+ "integrity": "sha512-DU4TD/+U0aXLjz4bGW+vxst4tXm3/HPiOrNh1BcY00rHRnRbR+ZY7AL/nA4+1P6LVPu8msLUXp6HTqqe4QrbHg==",
"dev": true,
"requires": {
"@azure/openapi-markdown": "^0.9.1",
@@ -88,19 +88,19 @@
}
},
"@azure/rest-api-specs-scripts": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.5.7.tgz",
- "integrity": "sha512-KbhwZzENz5pB9Me9PxhhuqL7Lru8bmpSOWQ291buvxEYQ+ZwzvHyA0cA8yL5raXZX2IJhslc7ThtcPhAqC0hFw==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.6.1.tgz",
+ "integrity": "sha512-o5QyJUAqkHzlkht5vYqNu2SXwAMD4vyxFrwk7acsZovIXsE012fwsg32WoUTMypR3uZpgfAtGBNYvyz6DW9rCg==",
"dev": true,
"requires": {
"@azure/avocado": "^0.4.1",
"@azure/oad": "^0.7.0",
- "@octokit/rest": "^16.25.0",
+ "@octokit/rest": "^16.42.0",
"@ts-common/string-map": "^0.3.0",
"fs-extra": "^7.0.1",
"glob": "^7.1.3",
"js-yaml": "^3.13.1",
- "oav": "0.19.6",
+ "oav": "0.20.9",
"request": "^2.88.0"
},
"dependencies": {
@@ -150,21 +150,66 @@
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
"dev": true
},
+ "@octokit/auth-token": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz",
+ "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^2.0.0"
+ }
+ },
"@octokit/endpoint": {
- "version": "5.5.1",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz",
- "integrity": "sha512-nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg==",
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.3.tgz",
+ "integrity": "sha512-EzKwkwcxeegYYah5ukEeAI/gYRLv2Y9U5PpIsseGSFDk+G3RbipQGBs8GuYS1TLCtQaqoO66+aQGtITPalxsNQ==",
"dev": true,
"requires": {
"@octokit/types": "^2.0.0",
"is-plain-object": "^3.0.0",
- "universal-user-agent": "^4.0.0"
+ "universal-user-agent": "^5.0.0"
+ },
+ "dependencies": {
+ "universal-user-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
+ "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
+ "dev": true,
+ "requires": {
+ "os-name": "^3.1.0"
+ }
+ }
+ }
+ },
+ "@octokit/plugin-paginate-rest": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
+ "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^2.0.1"
+ }
+ },
+ "@octokit/plugin-request-log": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
+ "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==",
+ "dev": true
+ },
+ "@octokit/plugin-rest-endpoint-methods": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
+ "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^2.0.1",
+ "deprecation": "^2.3.1"
}
},
"@octokit/request": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz",
- "integrity": "sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.2.tgz",
+ "integrity": "sha512-7NPJpg19wVQy1cs2xqXjjRq/RmtSomja/VSWnptfYwuBxLdbYh2UjhGi0Wx7B1v5Iw5GKhfFDQL7jM7SSp7K2g==",
"dev": true,
"requires": {
"@octokit/endpoint": "^5.5.0",
@@ -174,13 +219,24 @@
"is-plain-object": "^3.0.0",
"node-fetch": "^2.3.0",
"once": "^1.4.0",
- "universal-user-agent": "^4.0.0"
+ "universal-user-agent": "^5.0.0"
+ },
+ "dependencies": {
+ "universal-user-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
+ "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
+ "dev": true,
+ "requires": {
+ "os-name": "^3.1.0"
+ }
+ }
}
},
"@octokit/request-error": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz",
- "integrity": "sha512-DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
+ "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
"dev": true,
"requires": {
"@octokit/types": "^2.0.0",
@@ -189,11 +245,15 @@
}
},
"@octokit/rest": {
- "version": "16.34.1",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.34.1.tgz",
- "integrity": "sha512-JUoS12cdktf1fv86rgrjC/RvYLuL+o7p57W7zX1x7ANFJ7OvdV8emvUNkFlcidEaOkYrxK3SoWgQFt3FhNmabA==",
+ "version": "16.43.1",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz",
+ "integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==",
"dev": true,
"requires": {
+ "@octokit/auth-token": "^2.4.0",
+ "@octokit/plugin-paginate-rest": "^1.1.1",
+ "@octokit/plugin-request-log": "^1.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "2.4.0",
"@octokit/request": "^5.2.0",
"@octokit/request-error": "^1.0.2",
"atob-lite": "^2.0.0",
@@ -209,9 +269,9 @@
}
},
"@octokit/types": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.0.1.tgz",
- "integrity": "sha512-YDYgV6nCzdGdOm7wy43Ce8SQ3M5DMKegB8E5sTB/1xrxOdo2yS/KgUgML2N2ZGD621mkbdrAglwTyA4NDOlFFA==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.3.1.tgz",
+ "integrity": "sha512-rvJP1Y9A/+Cky2C3var1vsw3Lf5Rjn/0sojNl2AjCX+WbpIHYccaJ46abrZoIxMYnOToul6S9tPytUVkFI7CXQ==",
"dev": true,
"requires": {
"@types/node": ">= 8"
@@ -428,9 +488,9 @@
"dev": true
},
"abab": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz",
- "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
"dev": true
},
"abbrev": {
@@ -456,9 +516,9 @@
},
"dependencies": {
"acorn": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
- "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz",
+ "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==",
"dev": true
}
}
@@ -470,12 +530,12 @@
"dev": true
},
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+ "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -630,9 +690,9 @@
"dev": true
},
"autorest": {
- "version": "2.0.4407",
- "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4407.tgz",
- "integrity": "sha512-keyeMDb/bVNN8hnDd8o08UC2C1OE8HRhubxksljSvKM5osHIJnoKBA1k3kD7MPAJ/+m6UjDQXci3ronxZeYy+Q==",
+ "version": "2.0.4413",
+ "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4413.tgz",
+ "integrity": "sha512-Ttx/O6Yag5q8fpJDvllgf/joLuVPBySkbAqDF7+9jAmscCPQplYjA9H/N12bwkhh+6YR3ugWZHQq3NTN33hkAg==",
"dev": true
},
"aws-sign2": {
@@ -642,9 +702,9 @@
"dev": true
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
"dev": true
},
"balanced-match": {
@@ -909,6 +969,34 @@
"wrap-ansi": "^5.1.0"
}
},
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "dependencies": {
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -992,9 +1080,9 @@
}
},
"commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
"dev": true
},
"comment-json": {
@@ -1057,9 +1145,9 @@
"dev": true
},
"core-js": {
- "version": "2.6.10",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
- "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
"dev": true
},
"core-util-is": {
@@ -1659,9 +1747,9 @@
"dev": true
},
"env-variable": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz",
- "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==",
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz",
+ "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==",
"dev": true
},
"error-ex": {
@@ -1713,24 +1801,18 @@
"dev": true
},
"escodegen": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz",
- "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
"dev": true,
"requires": {
- "esprima": "^3.1.3",
+ "esprima": "^4.0.1",
"estraverse": "^4.2.0",
"esutils": "^2.0.2",
"optionator": "^0.8.1",
"source-map": "~0.6.1"
},
"dependencies": {
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -1949,9 +2031,9 @@
"dev": true
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
"fast-glob": {
@@ -1969,9 +2051,9 @@
}
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
"fast-levenshtein": {
@@ -2077,9 +2159,9 @@
"dev": true
},
"formidable": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz",
- "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
+ "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==",
"dev": true
},
"fragment-cache": {
@@ -2220,6 +2302,14 @@
"ignore": "^4.0.3",
"pify": "^4.0.1",
"slash": "^2.0.0"
+ },
+ "dependencies": {
+ "slash": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "dev": true
+ }
}
},
"graceful-fs": {
@@ -2229,12 +2319,12 @@
"dev": true
},
"graphlib": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.7.tgz",
- "integrity": "sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==",
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
+ "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
"dev": true,
"requires": {
- "lodash": "^4.17.5"
+ "lodash": "^4.17.15"
}
},
"growl": {
@@ -2244,9 +2334,9 @@
"dev": true
},
"handlebars": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz",
- "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==",
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz",
+ "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
@@ -2347,9 +2437,9 @@
"dev": true
},
"hosted-git-info": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
- "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
"dev": true
},
"html-encoding-sniffer": {
@@ -2701,6 +2791,12 @@
"requires": {
"amdefine": ">=0.0.4"
}
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
}
}
},
@@ -2711,9 +2807,9 @@
"dev": true
},
"js-base64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
- "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz",
+ "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==",
"dev": true
},
"js-xxhash": {
@@ -2799,18 +2895,18 @@
}
},
"json-refs": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.13.tgz",
- "integrity": "sha512-/FJ+BJ6BASjmNsBJHE8qMVj46HTS2Pfq5gI5BQRhyUsdrw9HaHRWSOsOh87deTOyWMtGas5Qr8H6ikrcWHdZbw==",
+ "version": "3.0.15",
+ "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz",
+ "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==",
"dev": true,
"requires": {
- "commander": "~2.19.0",
- "graphlib": "^2.1.7",
- "js-yaml": "^3.13.0",
- "lodash": "^4.17.11",
+ "commander": "~4.1.1",
+ "graphlib": "^2.1.8",
+ "js-yaml": "^3.13.1",
+ "lodash": "^4.17.15",
"native-promise-only": "^0.8.1",
"path-loader": "^1.0.10",
- "slash": "^2.0.0",
+ "slash": "^3.0.0",
"uri-js": "^4.2.2"
}
},
@@ -2913,9 +3009,9 @@
}
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
"kuler": {
@@ -3171,18 +3267,18 @@
"dev": true
},
"mime-db": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+ "version": "1.43.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
+ "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
"dev": true
},
"mime-types": {
- "version": "2.1.24",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
- "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+ "version": "2.1.26",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
+ "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
"dev": true,
"requires": {
- "mime-db": "1.40.0"
+ "mime-db": "1.43.0"
}
},
"mimic-fn": {
@@ -3603,9 +3699,9 @@
"dev": true
},
"oav": {
- "version": "0.19.6",
- "resolved": "https://registry.npmjs.org/oav/-/oav-0.19.6.tgz",
- "integrity": "sha512-JAATj7YPAm7v7ciPNn3MlnHHsd6GrTPyOJRqW6adWzUg2UQ8zor4jJuotNmsCes5Xq01MqbYOnTEwc/U+or2XA==",
+ "version": "0.20.9",
+ "resolved": "https://registry.npmjs.org/oav/-/oav-0.20.9.tgz",
+ "integrity": "sha512-ObCpH+R1hBL60cqicybo/XgH89J7+Vi1PS215UZRzcDKvf0Km0EyycVfdfRtvdrrUVdC8AugH3RlXYn5esqKfA==",
"dev": true,
"requires": {
"@azure/openapi-markdown": "^0.9.0",
@@ -3622,12 +3718,14 @@
"commonmark": "^0.29.0",
"glob": "^5.0.15",
"globby": "^9.2.0",
+ "handlebars": "^4.7.1",
"js-yaml": "^3.13.1",
"json-pointer": "^0.6.0",
"json-refs": "^3.0.13",
"jsonpath": "^1.0.1",
+ "kind-of": "^6.0.3",
"linq": "^3.2.0",
- "lodash": "^4.17.11",
+ "lodash": "^4.17.15",
"md5-file": "^4.0.0",
"moment": "^2.24.0",
"ms-rest": "^2.5.0",
@@ -3636,9 +3734,9 @@
"vscode-jsonrpc": "^3.6.2",
"winston": "^3.2.1",
"yargs": "^6.6.0",
- "yasway": "^1.8.4",
+ "yasway": "^1.8.11",
"yuml2svg": "^4.2.1",
- "z-schema": "^4.1.0"
+ "z-schema": "^4.2.2"
},
"dependencies": {
"ansi-regex": {
@@ -3702,9 +3800,9 @@
}
},
"readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -3958,27 +4056,21 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
"dev": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
- "dev": true
}
}
},
"optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"dev": true,
"requires": {
"deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
+ "fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
+ "word-wrap": "~1.2.3"
}
},
"os-locale": {
@@ -4104,9 +4196,9 @@
"dev": true
},
"path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
"dev": true,
"requires": {
"isarray": "0.0.1"
@@ -4189,9 +4281,9 @@
"dev": true
},
"prettier": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
- "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
"dev": true
},
"process-nextick-args": {
@@ -4201,9 +4293,9 @@
"dev": true
},
"psl": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
- "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
+ "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==",
"dev": true
},
"pump": {
@@ -4223,9 +4315,9 @@
"dev": true
},
"qs": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz",
- "integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA==",
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz",
+ "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==",
"dev": true
},
"randexp": {
@@ -4308,9 +4400,9 @@
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
@@ -4345,9 +4437,9 @@
"dev": true
},
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
@@ -4357,7 +4449,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -4367,7 +4459,7 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
@@ -4424,9 +4516,9 @@
"dev": true
},
"resolve": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
- "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
+ "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==",
"dev": true,
"requires": {
"path-parse": "^1.0.6"
@@ -4527,6 +4619,15 @@
}
}
},
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -4558,9 +4659,9 @@
}
},
"slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
"snapdragon": {
@@ -4704,12 +4805,12 @@
"dev": true
},
"source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"dev": true,
"requires": {
- "atob": "^2.1.1",
+ "atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
@@ -4950,6 +5051,13 @@
"z-schema": "^3.24.2"
},
"dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true,
+ "optional": true
+ },
"z-schema": {
"version": "3.25.1",
"resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz",
@@ -5032,21 +5140,13 @@
}
},
"tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"dev": true,
"requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- }
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
}
},
"tr46": {
@@ -5137,9 +5237,9 @@
"dev": true
},
"uglify-js": {
- "version": "3.6.7",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.7.tgz",
- "integrity": "sha512-4sXQDzmdnoXiO+xvmTzQsfIiwrjUCSA95rSP4SEd8tDb51W2TiDOlL76Hl+Kw0Ie42PSItCW8/t6pBNCF2R48A==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz",
+ "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==",
"dev": true,
"optional": true,
"requires": {
@@ -5191,9 +5291,9 @@
}
},
"universal-user-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz",
- "integrity": "sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
+ "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
"dev": true,
"requires": {
"os-name": "^3.1.0"
@@ -5279,9 +5379,9 @@
"dev": true
},
"uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
- "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"dev": true
},
"validate-npm-package-license": {
@@ -5454,10 +5554,16 @@
"triple-beam": "^1.2.0"
}
},
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
"wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
},
"wrap-ansi": {
@@ -5709,14 +5815,14 @@
}
},
"yasway": {
- "version": "1.8.6",
- "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.6.tgz",
- "integrity": "sha512-zRzjw9Jemtj+1NwAKjE+rExnG+2fY7KMM6PJRIOb8fO+tzq7EdCdp0iZ+O79F3J+/rOXoqFs+Tqa5oVSJq5m1g==",
+ "version": "1.8.11",
+ "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.8.11.tgz",
+ "integrity": "sha512-LhMkY455qHEV7rKMjfvwgXkoB26JJkuK4hqQnbjNXjpuT/lfEpbYJiPMjFOvZTf2VmJqCoM7sej6P+7LJyxM1Q==",
"dev": true,
"requires": {
"@ts-common/json": "^0.3.0",
"@ts-common/string-map": "^0.3.0",
- "@ts-common/z-schema": "^4.1.2",
+ "clone-deep": "^4.0.1",
"debug": "^4.1.1",
"faker": "^4.1.0",
"istanbul": "^0.4.5",
@@ -5728,28 +5834,10 @@
"native-promise-only": "^0.8.1",
"path-to-regexp": "^1.7.0",
"swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed"
+ "swagger-schema-official": "2.0.0-bab6bed",
+ "z-schema": "^4.2.2"
},
"dependencies": {
- "@ts-common/z-schema": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/@ts-common/z-schema/-/z-schema-4.1.2.tgz",
- "integrity": "sha512-PDMAza1jpnCpUUSSVf3LBtTyeo5s9xLQlD68gvW3B0j+RbnxYK9CHHCeLOZxBoKviBgr8+tps6ZVmUCcMSmiFw==",
- "dev": true,
- "requires": {
- "commander": "^2.7.1",
- "core-js": "^3.2.1",
- "lodash.get": "^4.4.2",
- "lodash.isequal": "^4.5.0",
- "validator": "^11.0.0"
- }
- },
- "core-js": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.6.tgz",
- "integrity": "sha512-u4oM8SHwmDuh5mWZdDg9UwNVq5s1uqq6ZDLLIs07VY+VJU91i3h4f3K/pgFvtUQPGdeStrZ+odKyfyt4EnKHfA==",
- "dev": true
- },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -5758,12 +5846,6 @@
"requires": {
"ms": "^2.1.1"
}
- },
- "validator": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
- "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==",
- "dev": true
}
}
},
@@ -5785,9 +5867,9 @@
}
},
"z-schema": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.1.tgz",
- "integrity": "sha512-UWhAk5QzeIhks51TjHa6d4WexEokzbbwT+Dzq9yOBOx9sNnALo4hpYz9CfJ6IUE2cmzB0vWW3KHePYOfw3L4gQ==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.2.tgz",
+ "integrity": "sha512-7bGR7LohxSdlK1EOdvA/OHksvKGE4jTLSjd8dBj9YKT0S43N9pdMZ0Z7GZt9mHrBFhbNTRh3Ky6Eu2MHsPJe8g==",
"dev": true,
"requires": {
"commander": "^2.7.1",
@@ -5796,6 +5878,13 @@
"validator": "^11.0.0"
},
"dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true,
+ "optional": true
+ },
"validator": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz",
diff --git a/package.json b/package.json
index d9972d240541..4b56361de1f4 100644
--- a/package.json
+++ b/package.json
@@ -10,22 +10,22 @@
"description": "Tests for Azure REST API Specifications",
"license": "MIT",
"devDependencies": {
- "@types/prettier": "^1.18.3",
- "@azure/avocado": "^0.6.0",
- "@azure/rest-api-specs-scripts": "^0.5.7",
+ "@azure/avocado": "^0.6.2",
+ "@azure/rest-api-specs-scripts": "0.6.1",
"@ts-common/commonmark-to-markdown": "^1.2.0",
"@ts-common/fs": "0.2.0",
"@ts-common/iterator": "^0.3.6",
"@types/js-yaml": "^3.12.1",
"@types/mocha": "^5.2.6",
+ "@types/prettier": "^1.18.3",
"cspell": "^4.0.30",
"js-yaml": "^3.13.1",
"json-schema-ref-parser": "^6.1.0",
"mocha": "*",
+ "prettier": "^1.19.1",
"ts-node": "^8.1.0",
"tslib": "^1.10.0",
- "typescript": "3.5.3",
- "prettier": "^1.18.2"
+ "typescript": "3.5.3"
},
"homepage": "https://github.com/azure/azure-rest-api-specs",
"repository": {
diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml
index aa923cac0537..acfd68e91a4f 100644
--- a/preproduction-azure-pipelines.yml
+++ b/preproduction-azure-pipelines.yml
@@ -2,6 +2,9 @@ name: "Preproduction CI for Azure Rest API specifications"
trigger: none
+pr:
+ autoCancel: false
+
variables:
TRAVIS: 'true'
TRAVIS_BRANCH: $(System.PullRequest.TargetBranch)
@@ -13,8 +16,5 @@ variables:
PREPRODUCTION_PIPELINE: 'true'
jobs:
-- template: .azure-pipelines/BranchProtectionForPrivateRepo.yml
- template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/ModelValidation.yml
-- template: .azure-pipelines/PrettierCheck.yml
-- template: .azure-pipelines/Avocado.yml
diff --git a/profile/2019-03-01-hybrid.json b/profile/2019-03-01-hybrid.json
index 004816d295d6..4c18c211609f 100644
--- a/profile/2019-03-01-hybrid.json
+++ b/profile/2019-03-01-hybrid.json
@@ -40,6 +40,26 @@
}
]
},
+ "microsoft.commerce": {
+ "2015-06-01-preview":[
+ {
+ "resourceType": "estimateResourceSpend",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "subscriberUsageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "usageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ }
+ ]
+ },
"microsoft.compute": {
"2017-12-01": [
{
@@ -114,6 +134,130 @@
}
]
},
+ "microsoft.databoxedge":{
+ "2019-08-01": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "dataBoxEdgeDevices/checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ }
+ ]
+ },
+ "microsoft.devices": {
+ "2019-07-01-preview":[
+ {
+ "resourceType": "usages",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/quotas",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/skus",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "IotHubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders/operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ }
+ ]
+ },
+ "microsoft.eventhubs": {
+ "2018-01-01-preview": [
+ {
+ "resourceType": "availableClusterRegions",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "clusters",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "locations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "locations/clusterOperations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "locations/namespaceOperations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ },
+ {
+ "resourceType": "namespaces",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/EventHub-preview.json"
+ }
+ ],
+ "2017-04-01": [
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/consumerGroups",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "sku",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ }
+ ],
+ "2015-08-01": [
+ {
+ "resourceType": "checkNamespaceAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2015-08-01/EventHub.json"
+ }
+ ]
+ },
"microsoft.insights": {
"2018-01-01": [
{
diff --git a/profile/readme.md b/profile/readme.md
index b93c994e0fdf..143a9a93bc03 100644
--- a/profile/readme.md
+++ b/profile/readme.md
@@ -5,7 +5,7 @@
The files in the folder describe the map of each resource provider's resource types and their supported api versions in the api profile.
## Basics
-An API profile represents a map of resource provider namespaces and their API versions. It is a representation of an Azure Platform declaring a set of APIs to be supported across all our clouds.Instead of specifying individual api-versions for each resource type across each namespace, the developer can just align the application to a profile and the tools/SDKs will themselves select the right api-versions as directed by the profile. With API Profiles developers can specify a profile version that applies to an entire template and, at runtime, ARM will pick the right versions of the resources. This way, the customers don’t have to worry about which are the right resource versions to specific clouds.
+An API profile represents a map of resource provider namespaces and their API versions. It is a representation of an Azure Platform declaring a set of APIs to be supported across all our clouds. Instead of specifying individual api-versions for each resource type across each namespace, the developer can just align the application to a profile and the tools/SDKs will themselves select the right api-versions as directed by the profile. With API Profiles developers can specify a profile version that applies to an entire template and, at runtime, ARM will pick the right versions of the resources. This way, the customers don’t have to worry about which are the right resource versions to specific clouds.
https://docs.microsoft.com/en-us/azure/azure-stack/user/azure-stack-version-profiles
@@ -59,4 +59,4 @@ The structure should appear like below:
| \---},
\---}
}
-```
\ No newline at end of file
+```
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json
new file mode 100644
index 000000000000..1b828b108923
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json
@@ -0,0 +1,1229 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-01-01",
+ "title": "AdvisorManagementClient",
+ "description": "REST APIs for Azure Advisor"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Advisor/metadata/{name}": {
+ "get": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Gets the metadata entity.",
+ "operationId": "RecommendationMetadata_Get",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Name of metadata entity.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved metadata entities",
+ "schema": {
+ "$ref": "#/definitions/MetadataEntity"
+ }
+ },
+ "404": {
+ "description": "Client sent unknown metadata name",
+ "schema": {
+ "$ref": "#/definitions/ARMErrorResponseBody"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetMetadata": {
+ "$ref": "./examples/GetRecommendationMetadataEntity.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Advisor/metadata": {
+ "get": {
+ "tags": [
+ "Metadata"
+ ],
+ "summary": "Gets the list of metadata entities.",
+ "operationId": "RecommendationMetadata_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved metadata entities",
+ "schema": {
+ "$ref": "#/definitions/MetadataEntityListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetMetadata": {
+ "$ref": "./examples/ListRecommendationMetadata.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Retrieve Azure Advisor configurations.",
+ "description": "Retrieve Azure Advisor configurations and also retrieve configurations of contained resource groups.",
+ "operationId": "Configurations_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved zero or more configurations.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ArmErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/ListConfigurations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations/{configurationName}": {
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Create/Overwrite Azure Advisor configuration.",
+ "description": "Create/Overwrite Azure Advisor configuration and also delete all configurations of contained resource groups.",
+ "operationId": "Configurations_CreateInSubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "configContract",
+ "in": "body",
+ "description": "The Azure Advisor configuration data structure.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigData"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "configurationName",
+ "in": "path",
+ "description": "Advisor configuration name. Value must be 'default'",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ConfigurationName",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created/overwrote configuration.",
+ "schema": {
+ "$ref": "#/definitions/ConfigData"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ArmErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "PutConfigurations": {
+ "$ref": "./examples/CreateConfiguration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Retrieve Azure Advisor configurations.",
+ "operationId": "Configurations_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroup",
+ "in": "path",
+ "description": "The name of the Azure resource group.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved zero or more configurations.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ArmErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/ListConfigurations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations/{configurationName}": {
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Create/Overwrite Azure Advisor configuration.",
+ "operationId": "Configurations_CreateInResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "configContract",
+ "in": "body",
+ "description": "The Azure Advisor configuration data structure.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigData"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "configurationName",
+ "in": "path",
+ "description": "Advisor configuration name. Value must be 'default'",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ConfigurationName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "resourceGroup",
+ "in": "path",
+ "description": "The name of the Azure resource group.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created/overwrote configuration.",
+ "schema": {
+ "$ref": "#/definitions/ConfigData"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ArmErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "PutConfigurations": {
+ "$ref": "./examples/CreateConfiguration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations": {
+ "post": {
+ "tags": [
+ "GenerateRecommendations"
+ ],
+ "description": "Initiates the recommendation generation or computation process for a subscription. This operation is asynchronous. The generated recommendations are stored in a cache in the Advisor service.",
+ "operationId": "Recommendations_Generate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. Recommendation generation has been accepted.",
+ "headers": {
+ "Location": {
+ "description": "The URL where the status of the asynchronous operation can be checked.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "GenerateRecommendations": {
+ "$ref": "./examples/GenerateRecommendations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}": {
+ "get": {
+ "tags": [
+ "GenerateRecommendations"
+ ],
+ "description": "Retrieves the status of the recommendation computation or generation process. Invoke this API after calling the generation recommendation. The URI of this API is returned in the Location field of the response header.",
+ "operationId": "Recommendations_GetGenerateStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "The operation ID, which can be found from the Location field in the generate recommendation response header.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. Recommendation generation is in progress."
+ },
+ "204": {
+ "description": "NoContent. Recommendation generation has been completed."
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "GetGenerateStatus": {
+ "$ref": "./examples/EmptyResponse.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations": {
+ "get": {
+ "tags": [
+ "GetRecommendations"
+ ],
+ "description": "Obtains cached recommendations for a subscription. The recommendations are generated or computed by invoking generateRecommendations.",
+ "operationId": "Recommendations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "The filter to apply to the recommendations.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "description": "The number of recommendations per page if a paged version of this API is being used.",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The page-continuation token to use with a paged version of this API.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully obtained cached recommendations.",
+ "schema": {
+ "$ref": "#/definitions/ResourceRecommendationBaseListResult"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListRecommendations": {
+ "$ref": "./examples/ListRecommendations.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Advisor/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available Advisor REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved operation list.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}": {
+ "get": {
+ "tags": [
+ "GetRecommendations"
+ ],
+ "description": "Obtains details of a cached recommendation.",
+ "operationId": "Recommendations_Get",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recommendationId",
+ "in": "path",
+ "description": "The recommendation ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully got recommendation detail.",
+ "schema": {
+ "$ref": "#/definitions/ResourceRecommendationBase"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "GetRecommendationDetail": {
+ "$ref": "./examples/GetRecommendationDetail.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}": {
+ "get": {
+ "tags": [
+ "Suppressions"
+ ],
+ "description": "Obtains the details of a suppression.",
+ "operationId": "Suppressions_Get",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recommendationId",
+ "in": "path",
+ "description": "The recommendation ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the suppression.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully got suppression detail.",
+ "schema": {
+ "$ref": "#/definitions/SuppressionContract"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "GetSuppressionDetail": {
+ "$ref": "./examples/GetSuppressionDetail.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Suppressions"
+ ],
+ "description": "Enables the snoozed or dismissed attribute of a recommendation. The snoozed or dismissed attribute is referred to as a suppression. Use this API to create or update the snoozed or dismissed status of a recommendation.",
+ "operationId": "Suppressions_Create",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recommendationId",
+ "in": "path",
+ "description": "The recommendation ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the suppression.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "suppressionContract",
+ "in": "body",
+ "description": "The snoozed or dismissed attribute; for example, the snooze duration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SuppressionContract"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully created suppression.",
+ "schema": {
+ "$ref": "#/definitions/SuppressionContract"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "CreateSuppression": {
+ "$ref": "./examples/CreateSuppression.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Suppressions"
+ ],
+ "description": "Enables the activation of a snoozed or dismissed recommendation. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.",
+ "operationId": "Suppressions_Delete",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recommendationId",
+ "in": "path",
+ "description": "The recommendation ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the suppression.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent. The recommendation has been activated."
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "DeleteSuppression": {
+ "$ref": "./examples/DeleteSuppression.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions": {
+ "get": {
+ "tags": [
+ "Suppressions"
+ ],
+ "description": "Retrieves the list of snoozed or dismissed suppressions for a subscription. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.",
+ "operationId": "Suppressions_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "description": "The number of suppressions per page if a paged version of this API is being used.",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The page-continuation token to use with a paged version of this API.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully got all suppressions in a subscription.",
+ "schema": {
+ "$ref": "#/definitions/SuppressionContractListResult"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListSuppressions": {
+ "$ref": "./examples/ListSuppressions.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MetadataEntityListResult": {
+ "description": "The list of metadata entities",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of metadata entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataEntity"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of metadata.",
+ "type": "string"
+ }
+ }
+ },
+ "MetadataEntity": {
+ "description": "The metadata entity contract.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource Id of the metadata entity.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the metadata entity.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the metadata entity.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/MetadataEntityProperties",
+ "description": "The metadata entity properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "MetadataEntityProperties": {
+ "description": "The metadata entity properties",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "The display name.",
+ "type": "string"
+ },
+ "dependsOn": {
+ "description": "The list of keys on which this entity depends on.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "applicableScenarios": {
+ "description": "The list of scenarios applicable to this metadata entity.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Alerts"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Scenario",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedValues": {
+ "description": "The list of supported values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataSupportedValueDetail"
+ }
+ }
+ }
+ },
+ "MetadataSupportedValueDetail": {
+ "description": "The metadata supported value detail.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationListResult": {
+ "description": "The list of Advisor configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of configurations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigData"
+ }
+ },
+ "nextLink": {
+ "description": "The link used to get the next page of configurations.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigData": {
+ "description": "The Advisor configuration data structure.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigDataProperties",
+ "description": "The Advisor configuration data structure.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConfigDataProperties": {
+ "description": "Configuration data properties",
+ "type": "object",
+ "properties": {
+ "exclude": {
+ "description": "Exclude the resource from Advisor evaluations. Valid values: False (default) or True.",
+ "type": "boolean"
+ },
+ "lowCpuThreshold": {
+ "description": "Minimum percentage threshold for Advisor low CPU utilization evaluation. Valid only for subscriptions. Valid values: 5 (default), 10, 15 or 20.",
+ "enum": [
+ "5",
+ "10",
+ "15",
+ "20"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CpuThreshold",
+ "modelAsString": true
+ }
+ },
+ "digests": {
+ "description": "Advisor digest configuration. Valid only for subscriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DigestConfig"
+ }
+ }
+ }
+ },
+ "DigestConfig": {
+ "description": "Advisor Digest configuration entity",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of digest configuration. Value is case-insensitive and must be unique within a subscription.",
+ "type": "string"
+ },
+ "actionGroupResourceId": {
+ "description": "Action group resource id used by digest.",
+ "type": "string"
+ },
+ "frequency": {
+ "format": "int32",
+ "description": "Frequency that digest will be triggered, in days. Value must be between 7 and 30 days inclusive.",
+ "type": "integer"
+ },
+ "categories": {
+ "description": "Categories to send digest for. If categories are not provided, then digest will be sent for all categories.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "HighAvailability",
+ "Security",
+ "Performance",
+ "Cost",
+ "OperationalExcellence"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Category",
+ "modelAsString": true
+ }
+ }
+ },
+ "language": {
+ "description": "Language for digest content body. Value must be ISO 639-1 code for one of Azure portal supported languages. Otherwise, it will be converted into one. Default value is English (en).",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of digest configuration.",
+ "enum": [
+ "Active",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DigestConfigState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ArmErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ARMErrorResponseBody"
+ }
+ }
+ },
+ "ARMErrorResponseBody": {
+ "description": "ARM error response body.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Gets or sets the string that describes the error in detail and provides debugging information.",
+ "type": "string"
+ },
+ "code": {
+ "description": "Gets or sets the string that can be used to programmatically identify the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceRecommendationBaseListResult": {
+ "description": "The list of Advisor recommendations.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of recommendations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of recommendations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceRecommendationBase"
+ }
+ }
+ }
+ },
+ "ResourceRecommendationBase": {
+ "description": "Advisor Recommendation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecommendationProperties",
+ "description": "The properties of the recommendation.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RecommendationProperties": {
+ "description": "The properties of the recommendation.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of the recommendation.",
+ "enum": [
+ "HighAvailability",
+ "Security",
+ "Performance",
+ "Cost",
+ "OperationalExcellence"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "category",
+ "modelAsString": true
+ }
+ },
+ "impact": {
+ "description": "The business impact of the recommendation.",
+ "enum": [
+ "High",
+ "Medium",
+ "Low"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "impact",
+ "modelAsString": true
+ }
+ },
+ "impactedField": {
+ "description": "The resource type identified by Advisor.",
+ "type": "string"
+ },
+ "impactedValue": {
+ "description": "The resource identified by Advisor.",
+ "type": "string"
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "description": "The most recent time that Advisor checked the validity of the recommendation.",
+ "type": "string"
+ },
+ "metadata": {
+ "description": "The recommendation metadata.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "recommendationTypeId": {
+ "description": "The recommendation-type GUID.",
+ "type": "string"
+ },
+ "risk": {
+ "description": "The potential risk of not implementing the recommendation.",
+ "enum": [
+ "Error",
+ "Warning",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "risk",
+ "modelAsString": true
+ }
+ },
+ "shortDescription": {
+ "$ref": "#/definitions/ShortDescription",
+ "description": "A summary of the recommendation."
+ },
+ "suppressionIds": {
+ "description": "The list of snoozed and dismissed rules for the recommendation.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ }
+ },
+ "extendedProperties": {
+ "description": "Extended properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "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
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ShortDescription": {
+ "description": "A summary of the recommendation.",
+ "type": "object",
+ "properties": {
+ "problem": {
+ "description": "The issue or opportunity identified by the recommendation.",
+ "type": "string"
+ },
+ "solution": {
+ "description": "The remediation action suggested by the recommendation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationEntityListResult": {
+ "description": "The list of Advisor operations.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operation supported by Advisor.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Advisor."
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Advisor.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Microsoft Advisor.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "SuppressionContract": {
+ "description": "The details of the snoozed or dismissed rule; for example, the duration, name, and GUID associated with the rule.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SuppressionProperties",
+ "description": "The properties of the suppression.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SuppressionProperties": {
+ "description": "The properties of the suppression.",
+ "type": "object",
+ "properties": {
+ "suppressionId": {
+ "description": "The GUID of the suppression.",
+ "type": "string"
+ },
+ "ttl": {
+ "description": "The duration for which the suppression is valid.",
+ "type": "string"
+ }
+ }
+ },
+ "SuppressionContractListResult": {
+ "description": "The list of Advisor suppressions.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of suppressions.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of suppressions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SuppressionContract"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API to be used with the client request.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/CreateConfiguration.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/CreateConfiguration.json
new file mode 100644
index 000000000000..89c602edafc0
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/CreateConfiguration.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroup": "resourceGroup",
+ "configurationName": "default",
+ "configContract": {
+ "properties": {
+ "lowCpuThreshold": "5",
+ "exclude": true,
+ "digests": [
+ {
+ "name": "digestConfigName",
+ "actionGroupResourceId": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/microsoft.insights/actionGroups/actionGroupName",
+ "frequency": 30,
+ "categories": [
+ "HighAvailability",
+ "Security",
+ "Performance",
+ "Cost",
+ "OperationalExcellence"
+ ],
+ "language": "en",
+ "state": "Active"
+ }
+ ]
+ }
+ },
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Advisor/configurations/default",
+ "type": "Microsoft.Advisor/configurations",
+ "name": "default",
+ "properties": {
+ "lowCpuThreshold": "5",
+ "exclude": true,
+ "digests": [
+ {
+ "name": "digestConfigName",
+ "actionGroupResourceId": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/microsoft.insights/actionGroups/actionGroupName",
+ "frequency": 30,
+ "categories": [
+ "HighAvailability",
+ "Security",
+ "Performance",
+ "Cost",
+ "OperationalExcellence"
+ ],
+ "language": "en",
+ "state": "Active"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/CreateSuppression.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/CreateSuppression.json
new file mode 100644
index 000000000000..6427e3bd9635
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/CreateSuppression.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceUri": "resourceUri",
+ "recommendationId": "recommendationId",
+ "name": "suppressionName1",
+ "suppressionContract": {
+ "properties": {
+ "ttl": "07:00:00:00"
+ }
+ },
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName1",
+ "name": "suppressionName1",
+ "type": "Microsoft.Advisor/suppressions",
+ "properties": {
+ "suppressionId": "suppresionId",
+ "ttl": "07:00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/DeleteSuppression.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/DeleteSuppression.json
new file mode 100644
index 000000000000..8d909b8d57b9
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/DeleteSuppression.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "resourceUri": "resourceUri",
+ "recommendationId": "recommendationId",
+ "name": "suppressionName1",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/EmptyResponse.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/EmptyResponse.json
new file mode 100644
index 000000000000..8a7a180d0fd7
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/EmptyResponse.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "operationId": "operationGUID",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GenerateRecommendations.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GenerateRecommendations.json
new file mode 100644
index 000000000000..c0aba7770d4a
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GenerateRecommendations.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.Microsoft.Advisor/generateRecommendations/recGUID?api-version=2020-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetRecommendationDetail.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetRecommendationDetail.json
new file mode 100644
index 000000000000..3d359b754275
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetRecommendationDetail.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceUri": "resourceUri",
+ "recommendationId": "recommendationId",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId",
+ "name": "recommendationId",
+ "properties": {
+ "category": "HighAvailability",
+ "impact": "Medium",
+ "impactedField": "Microsoft.Compute/availabilitySets",
+ "impactedValue": "armavset",
+ "lastUpdated": "2017-02-24T22:24:43.3216408Z",
+ "risk": "Warning",
+ "shortDescription": {
+ "problem": "This availability set is not configured for fault tolerance",
+ "solution": "To ensure high availability add one or more virtual machines to this availability set"
+ }
+ },
+ "type": "Microsoft.Advisor/recommendations"
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetRecommendationMetadataEntity.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetRecommendationMetadataEntity.json
new file mode 100644
index 000000000000..4c637336f116
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetRecommendationMetadataEntity.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "name": "types",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Advisor/metadata/recommendationType",
+ "name": "recommendationType",
+ "type": "Microsoft.Advisor/metadata",
+ "properties": {
+ "displayName": "Recommendation Type",
+ "dependsOn": [
+ "category",
+ "impact"
+ ],
+ "applicableScenarios": [
+ "Alerts"
+ ],
+ "supportedValues": [
+ {
+ "id": "6a2b1e70-bd4c-4163-86de-5243d7ac05ee",
+ "displayName": "Upgrade your SKU or add more instances to ensure fault tolerance"
+ },
+ {
+ "id": "da6630fb-4286-4996-92a3-a43f5f26dd34",
+ "displayName": "Delete ExpressRoute circuits in the provider status of Not Provisioned"
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "code": "NotFound",
+ "message": "Unknown metadata name"
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetSuppressionDetail.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetSuppressionDetail.json
new file mode 100644
index 000000000000..3d24f3ce31ce
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/GetSuppressionDetail.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceUri": "resourceUri",
+ "recommendationId": "recommendationId",
+ "name": "suppressionName1",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName1",
+ "name": "suppressionName1",
+ "type": "Microsoft.Advisor/suppressions",
+ "properties": {
+ "suppressionId": "suppressionId1",
+ "ttl": "7.00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListConfigurations.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListConfigurations.json
new file mode 100644
index 000000000000..338c67ebfaa4
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListConfigurations.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroup": "resourceGroup",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Advisor/configurations/default",
+ "type": "Microsoft.Advisor/configurations",
+ "name": "default",
+ "properties": {
+ "lowCpuThreshold": "5",
+ "exclude": false,
+ "digests": [
+ {
+ "name": "digestConfigName",
+ "actionGroupResourceId": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/microsoft.insights/actionGroups/actionGroupName",
+ "frequency": 30,
+ "categories": [
+ "HighAvailability",
+ "Security",
+ "Performance",
+ "Cost",
+ "OperationalExcellence"
+ ],
+ "language": "en",
+ "state": "Active"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListRecommendationMetadata.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListRecommendationMetadata.json
new file mode 100644
index 000000000000..b75ac390443a
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListRecommendationMetadata.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "string",
+ "value": [
+ {
+ "id": "providers/Microsoft.Advisor/metadata/recommendationType",
+ "name": "recommendationType",
+ "type": "Microsoft.Advisor/metadata",
+ "properties": {
+ "displayName": "Recommendation Type",
+ "dependsOn": [
+ "category",
+ "impact"
+ ],
+ "applicableScenarios": [
+ "Alerts"
+ ],
+ "supportedValues": [
+ {
+ "id": "6a2b1e70-bd4c-4163-86de-5243d7ac05ee",
+ "displayName": "Upgrade your SKU or add more instances to ensure fault tolerance"
+ },
+ {
+ "id": "da6630fb-4286-4996-92a3-a43f5f26dd34",
+ "displayName": "Delete ExpressRoute circuits in the provider status of Not Provisioned"
+ }
+ ]
+ }
+ },
+ {
+ "id": "providers/Microsoft.Advisor/metadata/recommendationCategory",
+ "name": "recommendationCategory",
+ "type": "Microsoft.Advisor/metadata",
+ "properties": {
+ "displayName": "Category",
+ "dependsOn": null,
+ "applicableScenarios": [
+ "Alerts"
+ ],
+ "supportedValues": [
+ {
+ "id": "Cost",
+ "displayName": "Cost"
+ },
+ {
+ "id": "Performance",
+ "displayName": "Performance"
+ }
+ ]
+ }
+ },
+ {
+ "id": "providers/Microsoft.Advisor/metadata/recommendationImpact",
+ "name": "recommendationImpact",
+ "type": "Microsoft.Advisor/metadata",
+ "properties": {
+ "displayName": "Impact",
+ "dependsOn": null,
+ "applicableScenarios": null,
+ "supportedValues": [
+ {
+ "id": "High",
+ "displayName": "High"
+ },
+ {
+ "id": "Medium",
+ "displayName": "Medium"
+ },
+ {
+ "id": "Low",
+ "displayName": "Low"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListRecommendations.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListRecommendations.json
new file mode 100644
index 000000000000..2d4ad35f625e
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListRecommendations.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "$top": 10,
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.Advisor/recommendations?api-version=2020-01-01&$top=10&$skiptoken=skiptoken",
+ "value": [
+ {
+ "id": "/resourceUri/providers/Microsoft.Advisor/recommendations/recGUID",
+ "name": "recGUID",
+ "properties": {
+ "category": "HighAvailability",
+ "impact": "Medium",
+ "impactedField": "Microsoft.Compute/availabilitySets",
+ "impactedValue": "armavset",
+ "lastUpdated": "2017-02-24T22:24:43.3216408Z",
+ "risk": "Warning",
+ "shortDescription": {
+ "problem": "This availability set is not configured for fault tolerance",
+ "solution": "To ensure high availability add one or more virtual machines to this availability set"
+ }
+ },
+ "type": "Microsoft.Advisor/recommendations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListSuppressions.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListSuppressions.json
new file mode 100644
index 000000000000..159b0d143abd
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/examples/ListSuppressions.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId1",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/3f75fdf7-977e-44ad-990d-99f14f0f299f/providers/microsoft.Advisor/suppressions?api-version=2020-01-01&$top=3&$skiptoken=skiptoken",
+ "value": [
+ {
+ "id": "/resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName1",
+ "name": "suppressionName1",
+ "type": "Microsoft.Advisor/suppressions",
+ "properties": {
+ "suppressionId": "suppressionId1",
+ "ttl": "7.00:00:00"
+ }
+ },
+ {
+ "id": "/resourceUri/providers/Microsoft.Advisor/recommendations/recommendationId/suppressions/suppressionName2",
+ "name": "suppressionName2",
+ "type": "Microsoft.Advisor/suppressions",
+ "properties": {
+ "suppressionId": "suppressionId2",
+ "ttl": "7.00:00:00"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/feedback.md b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/feedback.md
new file mode 100644
index 000000000000..4e6252c1da70
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/feedback.md
@@ -0,0 +1,55 @@
+### Feedback #1 ###
+Use ARM error model for next API version.
+
+PR where feedback was given - https://github.com/Azure/azure-rest-api-specs/pull/5826
+
+Link to ARM Error model - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content
+
+### Error Response Content ###
+
+If the resource provider needs to return an error to any operation, it should return the appropriate HTTP error code and a message body as can be seen below. The message should be localized per the Accept-Language header specified in the original request such that it could be directly be exposed to users.
+
+The resource providers must return the \*code\* and \*message\* fields; however, the other fields are acceptable as additions. This format matches [the OData v4.0 schema](http://docs.oasis-open.org/odata/odata-json-format/v4.0/os/odata-json-format-v4.0-os.html#_Toc372793091) for error responses.
+
+#### Response Body ####
+```
+{
+"error": {
+ "code": "BadArgument",
+ "message": "The provided database 'foo' has an invalid username.",
+ "target": "query",
+ "details": [
+ {
+ "code": "301",
+ "target": "$search"
+ "message": "$search query option not supported",
+ },
+ {
+ "code": "ConflictingAppendPolicies",
+ "target": "",
+ "message": "",
+ "additionalInfo": [
+ {
+ "type": "PolicyViolation",
+ "info": {
+ "policySetDefinitionDisplayName": "Secure the environment",
+ "policySetDefinitionId":"/subscriptions/00000-00000-0000-000/providers/Microsoft.Authorization/policySetDefinitions/TestPolicySet",
+ "policyDefinitionDisplayName": "Allowed locations",
+ "policyDefinitionId":"/subscriptions/00000-00000-0000-000/providers/Microsoft.Authorization/policyDefinitions/TestPolicy1",
+ "policyAssignmentDisplayName": "Allow Central US and WEU only",
+ "policyAsssignmentId":"/subscriptions/00000-00000-0000-000/providers/Microsoft.Authorization/policyAssignments/TestAssignment1"
+ }
+ }
+ ]
+ }
+ ]
+}
+```
+
+| Element name | Type | Description |
+| --- | --- | --- |
+| message | string (required) | Describes the error in detail and provides debugging information. If Accept-Language is set in the request, it must be localized to that language. |
+| code | string (required) | Unlocalized string which can be used to programmatically identify the error. The code should be Pascal-cased, and should serve to uniquely identify a particular class of error, for example "BadArgument". |
+| target | string (optional) | The target of the particular error (for example, the name of the property in error). |
+| details | array (optional) | An array of additional nested error response info objects, as described by this contract. |
+| additionalInfo | array (optional) | An array of objects with "type" (string), and "info" (object) properties. The schema of "info" is service-specific and dependent on the "type" string. |
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index 03863a89aa5f..19b78bb8ac9b 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Advisor.
-
-
---
+
## Getting Started
+
To build the SDK for Advisor, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,21 +15,29 @@ To build the SDK for Advisor, simply [Install AutoRest](https://aka.ms/autorest/
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Advisor API.
``` yaml
openapi-type: arm
-tag: package-2017-04
+tag: package-2020-01
```
+### Tag: package-2020-01
+
+These settings apply only when `--tag=package-2020-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-01'
+input-file:
+ - Microsoft.Advisor/stable/2020-01-01/advisor.json
+```
### Tag: package-2017-04
These settings apply only when `--tag=package-2017-04` is specified on the command line.
@@ -57,10 +65,9 @@ input-file:
- Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -77,7 +84,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
```
-
## Python
These settings apply only when `--python` is specified on the command line.
@@ -95,11 +101,13 @@ python:
package-version: 1.0.1
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor/azure/mgmt/advisor
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -129,7 +137,7 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -141,17 +149,17 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Advisor/stable/2020-01-01/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2017-04-19/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2017-03-31/advisor.json
- $(this-folder)/Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/alertsmanagement/resource-manager/readme.cli.md b/specification/alertsmanagement/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..045547609823
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/readme.cli.md
@@ -0,0 +1,31 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ namespace: azure.mgmt.alertsmanagement
+ test-scenario:
+ - name: PutActionRule
+ - name: Create or update a Smart Detector alert rule
+ - name: Get a Smart Detector alert rule
+ - name: GetActionRuleById
+ - name: List alert rules
+ - name: GetActionRulesResourceGroupWide
+ - name: Resolve
+ - name: Get
+ - name: Resolve
+ - name: List Smart Detector alert rules
+ - name: GetById
+ - name: Summary
+ - name: List
+ - name: GetActionRulesSubscriptionWide
+ - name: ListAlerts
+ - name: MonService
+ - name: Patch alert rules
+ - name: PatchActionRule
+ - name: changestate
+ - name: Resolve
+ - name: Delete a Smart Detector alert rule
+ - name: DeleteActionRule
+```
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json
index eccd0c8ba3c2..cd7085252076 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json
@@ -18,7 +18,7 @@
"location": "West US",
"etag": "AAAAAAFfhHY=",
"properties": {
- "publisherEmail": "sasolank@microsoft.com",
+ "publisherEmail": "contoso@live.com",
"publisherName": "Microsoft",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
new file mode 100644
index 000000000000..902b57422f2f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
@@ -0,0 +1,698 @@
+{
+ "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": "2019-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": {},
+ "definitions": {
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "error": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "Properties of the Error Response."
+ }
+ },
+ "description": "Error Response."
+ },
+ "ErrorResponseBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ },
+ "description": "Error Body contract."
+ },
+ "RegionContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Region name.",
+ "readOnly": true
+ },
+ "isMasterRegion": {
+ "description": "whether Region is the master region.",
+ "type": "boolean"
+ },
+ "isDeleted": {
+ "description": "whether Region is deleted.",
+ "type": "boolean"
+ }
+ },
+ "description": "Region profile."
+ },
+ "RegionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionContract"
+ },
+ "description": "Lists of Regions."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Lists Regions operation response details."
+ },
+ "Resource": {
+ "description": "The Resource definition.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name.",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type for API Management resource."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccessParameter": {
+ "name": "accessName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "access"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AccessIdName"
+ },
+ "description": "The identifier of the Access configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiIdParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ApiIdRevParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "ApiVersionSetIdParameter": {
+ "name": "versionSetId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Api Version Set identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachmentIdParameter": {
+ "name": "attachmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Attachment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AuthenticationServerIdParameter": {
+ "name": "authsid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the authorization server.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "BackendIdParameter": {
+ "name": "backendId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "CacheIdParameter": {
+ "name": "cacheId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier).",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateIdParameter": {
+ "name": "certificateId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CommentIdParameter": {
+ "name": "commentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Comment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "configuration"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "configurationIdName"
+ },
+ "description": "The identifier of the Git Configuration Operation.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiagnosticIdParameter": {
+ "name": "diagnosticId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "EmailParameter": {
+ "name": "email",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Email identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Group identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "IdentityProviderNameParameter": {
+ "name": "identityProviderName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchOptionalParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "ETag of the Entity. Not required when creating an entity, but required when updating an entity.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchRequiredParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IssueIdParameter": {
+ "name": "issueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Issue identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationNameParameter": {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "LoggerIdParameter": {
+ "name": "loggerId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "description": "Logger identifier. Must be unique in the API Management service instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "NotificationNameParameter": {
+ "name": "notificationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "RequestPublisherNotificationMessage",
+ "PurchasePublisherNotificationMessage",
+ "NewApplicationNotificationMessage",
+ "BCC",
+ "NewIssuePublisherNotificationMessage",
+ "AccountClosedPublisher",
+ "QuotaLimitApproachingPublisherNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "NotificationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "RequestPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval."
+ },
+ {
+ "value": "PurchasePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions."
+ },
+ {
+ "value": "NewApplicationNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery."
+ },
+ {
+ "value": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers."
+ },
+ {
+ "value": "NewIssuePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal."
+ },
+ {
+ "value": "AccountClosedPublisher",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account."
+ },
+ {
+ "value": "QuotaLimitApproachingPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota."
+ }
+ ]
+ },
+ "description": "Notification Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "NotifySubscriptionStateChangeParameter": {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ",
+ "x-ms-parameter-location": "method"
+ },
+ "OpenIdConnectIdParameter": {
+ "name": "opid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the OpenID Connect Provider.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyExportFormat": {
+ "name": "format",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy Export Format.",
+ "enum": [
+ "xml",
+ "rawxml"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ }
+ ]
+ },
+ "default": "xml",
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyIdParameter": {
+ "name": "policyId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "policy"
+ ],
+ "description": "The identifier of the Policy.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PolicyIdName"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ProductIdParameter": {
+ "name": "productId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Product identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "NamedValueIdParameter": {
+ "name": "namedValueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the NamedValue.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaCounterKeyParameter": {
+ "name": "quotaCounterKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota counter key identifier.This is the result of expression defined in counter-key attribute of the quota-by-key policy.For Example, if you specify counter-key=\"boo\" in the policy, then it’s accessible by \"boo\" counter key. But if it’s defined as counter-key=\"@(\"b\"+\"a\")\" then it will be accessible by \"ba\" key",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaPeriodKeyParameter": {
+ "name": "quotaPeriodKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota period key identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "ReleaseIdParameter": {
+ "name": "releaseId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Release identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "SchemaIdParameter": {
+ "name": "schemaId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ServiceNameParameter": {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the API Management service.",
+ "minLength": 1,
+ "maxLength": 50,
+ "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipQueryParameter": {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to skip.",
+ "minimum": 0,
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionEntityIdParameter": {
+ "name": "sid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "TagIdParameter": {
+ "name": "tagId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "TagDescriptionIdParameter": {
+ "name": "tagDescriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "TemplateNameParameter": {
+ "name": "templateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "applicationApprovedNotificationMessage",
+ "accountClosedDeveloper",
+ "quotaLimitApproachingDeveloperNotificationMessage",
+ "newDeveloperNotificationMessage",
+ "emailChangeIdentityDefault",
+ "inviteUserNotificationMessage",
+ "newCommentNotificationMessage",
+ "confirmSignUpIdentityDefault",
+ "newIssueNotificationMessage",
+ "purchaseDeveloperNotificationMessage",
+ "passwordResetIdentityDefault",
+ "passwordResetByAdminNotificationMessage",
+ "rejectDeveloperNotificationMessage",
+ "requestDeveloperNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "TemplateName",
+ "modelAsString": true
+ },
+ "description": "Email Template Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "TopQueryParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to return.",
+ "minimum": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "UserIdParameter": {
+ "name": "userId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "User identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
new file mode 100644
index 000000000000..4d144129c581
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
@@ -0,0 +1,4470 @@
+{
+ "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": "2019-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.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 | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Include tags in the response."
+ },
+ {
+ "name": "expandApiVersionSet",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include full ApiVersionSet resource in response"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of Apis.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApi": {
+ "$ref": "./examples/ApiManagementHeadApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Get",
+ "description": "Gets the details of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiContract": {
+ "$ref": "./examples/ApiManagementGetApiContract.json"
+ },
+ "ApiManagementGetApiRevisionContract": {
+ "$ref": "./examples/ApiManagementGetApiRevision.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.sun.wadl+xml",
+ "application/vnd.swagger.doc+json",
+ "application/wsdl+xml",
+ "application/vnd.oai.openapi",
+ "application/vnd.oai.openapi+json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified API entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_CreateOrUpdate",
+ "description": "Creates new or updates existing specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiUsingOai3Import": {
+ "$ref": "./examples/ApiManagementCreateApiUsingOai3Import.json"
+ },
+ "ApiManagementCreateApiUsingSwaggerImport": {
+ "$ref": "./examples/ApiManagementCreateApiUsingSwaggerImport.json"
+ },
+ "ApiManagementCreateApiUsingWadlImport": {
+ "$ref": "./examples/ApiManagementCreateApiUsingWadlImport.json"
+ },
+ "ApiManagementCreateSoapToRestApiUsingWsdlImport": {
+ "$ref": "./examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json"
+ },
+ "ApiManagementCreateSoapPassThroughApiUsingWsdlImport": {
+ "$ref": "./examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json"
+ },
+ "ApiManagementCreateApi": {
+ "$ref": "./examples/ApiManagementCreateApi.json"
+ },
+ "ApiManagementCreateApiRevisionFromExistingApi": {
+ "$ref": "./examples/ApiManagementCreateApiRevisionFromExistingApi.json"
+ },
+ "ApiManagementCreateApiNewVersionUsingExistingApi": {
+ "$ref": "./examples/ApiManagementCreateApiNewVersionUsingExistingApi.json"
+ },
+ "ApiManagementCreateApiClone": {
+ "$ref": "./examples/ApiManagementCreateApiClone.json"
+ },
+ "ApiManagementCreateApiWithOpenIdConnect": {
+ "$ref": "./examples/ApiManagementCreateApiWithOpenIdConnect.json"
+ },
+ "ApiManagementCreateApiUsingImportOverrideServiceUrl": {
+ "$ref": "./examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCreateOrUpdateParameter"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "API was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "202": {
+ "description": "Request to create or update API was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "API was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Update",
+ "description": "Updates the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApi": {
+ "$ref": "./examples/ApiManagementUpdateApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiUpdateContract"
+ },
+ "description": "API Update Contract parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The API was successfully updated."
+ },
+ "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": {
+ "204": {
+ "description": "Release successfully updated"
+ },
+ "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": {
+ "204": {
+ "description": "The operation was successfully updated."
+ },
+ "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 configuration was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "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": {
+ "204": {
+ "description": "The Diagnostic was successfully updated."
+ },
+ "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": {
+ "204": {
+ "description": "Api issue updated successfully"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Delete",
+ "description": "Deletes the specified Issue from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssue": {
+ "$ref": "./examples/ApiManagementDeleteApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Issue successfully removed"
+ },
+ "204": {
+ "description": "Issue successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments": {
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_ListByService",
+ "description": "Lists all comments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueComments": {
+ "$ref": "./examples/ApiManagementListApiIssueComments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue comments for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueCommentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueComment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Get",
+ "description": "Gets the details of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueComment": {
+ "$ref": "./examples/ApiManagementGetApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Comment entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_CreateOrUpdate",
+ "description": "Creates a new Comment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueComment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue comment successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue comment successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueComment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Comment successfully removed"
+ },
+ "204": {
+ "description": "Comment successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments": {
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_ListByService",
+ "description": "Lists all attachments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueAttachments": {
+ "$ref": "./examples/ApiManagementListApiIssueAttachments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue attachments for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueAttachmentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Get",
+ "description": "Gets the details of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementGetApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Attachment entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_CreateOrUpdate",
+ "description": "Creates a new Attachment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue attachment successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue attachment successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Attachment successfully removed"
+ },
+ "204": {
+ "description": "Attachment successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": {
+ "get": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_ListByService",
+ "description": "Lists all Tags descriptions in scope of API. Model similar to swagger - tagDescription is defined on API level but tag may be assigned to the Operations",
+ "x-ms-examples": {
+ "ApiManagementListApiTagDescriptions": {
+ "$ref": "./examples/ApiManagementListApiTagDescriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tagDescriptions associated with the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagDescriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagDescriptionId}": {
+ "head": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_GetEntityTag",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTagDescription": {
+ "$ref": "./examples/ApiManagementHeadApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_Get",
+ "description": "Get Tag description in scope of API",
+ "x-ms-examples": {
+ "ApiManagementGetApiTagDescription": {
+ "$ref": "./examples/ApiManagementGetApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the description of the tag specified by its identifier in scope if the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_CreateOrUpdate",
+ "description": "Create/Update tag description in scope of the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTagDescription": {
+ "$ref": "./examples/ApiManagementCreateApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag Description was created for the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Tag Description was updated for the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_Delete",
+ "description": "Delete tag description for the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTagDescription": {
+ "$ref": "./examples/ApiManagementDeleteApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag description successfully removed"
+ },
+ "204": {
+ "description": "Tag description successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": {
+ "get": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_ListByApi",
+ "description": "Lists all Tags associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementListApiTags": {
+ "$ref": "./examples/ApiManagementListApiTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_GetEntityStateByApi",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTag": {
+ "$ref": "./examples/ApiManagementHeadApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_GetByApi",
+ "description": "Get tag associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementGetApiTag": {
+ "$ref": "./examples/ApiManagementGetApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_AssignToApi",
+ "description": "Assign tag to the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTag": {
+ "$ref": "./examples/ApiManagementCreateApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_DetachFromApi",
+ "description": "Detach the tag from the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTag": {
+ "$ref": "./examples/ApiManagementDeleteApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API/Tag association successfully removed"
+ },
+ "204": {
+ "description": "API/Tag association successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": {
+ "get": {
+ "tags": [
+ "ApiOperationsByTag"
+ ],
+ "operationId": "Operation_ListByTags",
+ "description": "Lists a collection of operations associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationsByTags": {
+ "$ref": "./examples/ApiManagementListApiOperationsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedOperations",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Operations."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": {
+ "get": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "ApiExport_Get",
+ "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.",
+ "x-ms-examples": {
+ "ApiManagementGetApiExportInOpenApi2dot0": {
+ "$ref": "./examples/ApiManagementGetApiExportInOpenApi2dot0.json"
+ },
+ "ApiManagementGetApiExportInOpenApi3dot0": {
+ "$ref": "./examples/ApiManagementGetApiExportInOpenApi3dot0.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "format",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "swagger-link",
+ "wadl-link",
+ "wsdl-link",
+ "openapi-link",
+ "openapi+json-link"
+ ],
+ "x-ms-enum": {
+ "name": "ExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "swagger-link",
+ "description": "Export the Api Definition in OpenApi Specification 2.0 format to the Storage Blob.",
+ "name": "Swagger"
+ },
+ {
+ "value": "wsdl-link",
+ "description": "Export the Api Definition in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "name": "Wsdl"
+ },
+ {
+ "value": "wadl-link",
+ "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
+ "name": "Openapi"
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 as JSON document to Storage Blob.",
+ "name": "OpenapiJson"
+ }
+ ]
+ },
+ "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ {
+ "name": "export",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ExportApi"
+ },
+ "description": "Query parameter required to export the API details."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
new file mode 100644
index 000000000000..cdb1ee2d4e0f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieve a collection of Apis associated with a tag in Azure API Management deployment.",
+ "version": "2019-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.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 | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|isCurrent | eq | |\n"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedApis",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged APIs."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
new file mode 100644
index 000000000000..77e771aebfa4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
@@ -0,0 +1,367 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The Api Version Set details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_Delete",
+ "description": "Deletes specific Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiVersionSet": {
+ "$ref": "./examples/ApiManagementDeleteApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "204": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
new file mode 100644
index 000000000000..21dc77a26941
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
@@ -0,0 +1,412 @@
+{
+ "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": "2019-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.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.",
+ "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": {
+ "204": {
+ "description": "The authorization server settings were successfully updated."
+ },
+ "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": {
+ "ApiManagementListSecretsAuthorizationServer": {
+ "$ref": "./examples/ApiManagementListSecretsAuthorizationServer.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": "The response body contains the client secret.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ClientSecretContract"
+ }
+ },
+ "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/2019-12-01-preview/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
new file mode 100644
index 000000000000..d3260f326e3c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
@@ -0,0 +1,421 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The existing backend was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Delete",
+ "description": "Deletes the specified backend.",
+ "x-ms-examples": {
+ "ApiManagementDeleteBackend": {
+ "$ref": "./examples/ApiManagementDeleteBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The backend was successfully deleted."
+ },
+ "204": {
+ "description": "The backend was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}/reconnect": {
+ "post": {
+ "tags": [
+ "BackendReconnect"
+ ],
+ "operationId": "Backend_Reconnect",
+ "description": "Notifies the APIM proxy to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.",
+ "x-ms-examples": {
+ "ApiManagementBackendReconnect": {
+ "$ref": "./examples/ApiManagementBackendReconnect.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendReconnectContract"
+ },
+ "description": "Reconnect request parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Reconnect request accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
new file mode 100644
index 000000000000..f0e081da3b05
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
@@ -0,0 +1,363 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The cache details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Delete",
+ "description": "Deletes specific Cache.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCache": {
+ "$ref": "./examples/ApiManagementDeleteCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cache was successfully deleted."
+ },
+ "204": {
+ "description": "The Cache was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
new file mode 100644
index 000000000000..4296c76eb446
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
@@ -0,0 +1,319 @@
+{
+ "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": "2019-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.ApiManagement/service/{serviceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_ListByService",
+ "description": "Lists a collection of all certificates in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCertificates": {
+ "$ref": "./examples/ApiManagementListCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | expirationDate | filter | ge, le, eq, ne, gt, lt | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Certificate entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": {
+ "head": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCertificate": {
+ "$ref": "./examples/ApiManagementHeadCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified certificate entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Get",
+ "description": "Gets the details of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCertificate": {
+ "$ref": "./examples/ApiManagementGetCertificate.json"
+ }
+ },
+ "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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new certificate was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "200": {
+ "description": "The certificate details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Delete",
+ "description": "Deletes specific certificate.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCertificate": {
+ "$ref": "./examples/ApiManagementDeleteCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate was successfully deleted."
+ },
+ "204": {
+ "description": "The certificate was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
new file mode 100644
index 000000000000..5ce734172f94
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
@@ -0,0 +1,1545 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to manage Azure API Management deployment.",
+ "version": "2019-12-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ApiManagement/operations": {
+ "get": {
+ "tags": [
+ "ApiManagementOperations"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.ApiManagement provider.",
+ "operationId": "ApiManagementOperations_List",
+ "x-ms-examples": {
+ "ApiManagementListOperations": {
+ "$ref": "./examples/ApiManagementListOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/skus": {
+ "get": {
+ "tags": [
+ "ApiManagementServiceSkus"
+ ],
+ "summary": "Gets available SKUs for API Management service",
+ "description": "Gets all available SKU for a given API Management service",
+ "operationId": "ApiManagementServiceSkus_ListAvailableServiceSkus",
+ "x-ms-examples": {
+ "ApiManagementListSKUs-Dedicated": {
+ "$ref": "./examples/ApiManagementListSKUs-Dedicated.json"
+ },
+ "ApiManagementListSKUs-Consumption": {
+ "$ref": "./examples/ApiManagementListSKUs-Consumption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of SKUs.",
+ "schema": {
+ "$ref": "#/definitions/ResourceSkuResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Restore",
+ "description": "Restores a backup of an API Management service created using the ApiManagementService_Backup operation on the current service. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementRestoreService": {
+ "$ref": "./examples/ApiManagementRestoreService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters"
+ },
+ "description": "Parameters supplied to the Restore API Management service from backup operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully restored the backup onto the API Management service.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Backup",
+ "description": "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementCreateBackup": {
+ "$ref": "./examples/ApiManagementCreateBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters"
+ },
+ "description": "Parameters supplied to the ApiManagementService_Backup operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully backed up the API Management service to the storage account.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": {
+ "put": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_CreateOrUpdate",
+ "description": "Creates or updates an API Management service. This is long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementCreateService": {
+ "$ref": "./examples/ApiManagementCreateService.json"
+ },
+ "ApiManagementCreateMultiRegionServiceWithCustomHostname": {
+ "$ref": "./examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json"
+ },
+ "ApiManagementCreateServiceHavingMsi": {
+ "$ref": "./examples/ApiManagementCreateServiceHavingMsi.json"
+ },
+ "ApiManagementCreateServiceWithSystemCertificates": {
+ "$ref": "./examples/ApiManagementCreateServiceWithSystemCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate API Management service operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully set up.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted the configuration change when updating the service."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Update",
+ "description": "Updates an existing API Management service.",
+ "x-ms-examples": {
+ "ApiManagementUpdateServiceDisableTls10": {
+ "$ref": "./examples/ApiManagementUpdateServiceDisableTls10.json"
+ },
+ "ApiManagementUpdateServicePublisherDetails": {
+ "$ref": "./examples/ApiManagementUpdateServicePublisherDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceUpdateParameters"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate API Management service operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "The service update request was Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Get",
+ "description": "Gets an API Management service resource description.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetService": {
+ "$ref": "./examples/ApiManagementServiceGetService.json"
+ },
+ "ApiManagementServiceGetServiceHavingMsi": {
+ "$ref": "./examples/ApiManagementServiceGetServiceHavingMsi.json"
+ },
+ "ApiManagementServiceGetMultiRegionInternalVnet": {
+ "$ref": "./examples/ApiManagementServiceGetMultiRegionInternalVnet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully got the API Management Service Resource.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Delete",
+ "description": "Deletes an existing API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceDeleteService": {
+ "$ref": "./examples/ApiManagementServiceDeleteService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Service was successfully deleted."
+ },
+ "202": {
+ "description": "The service delete request was Accepted.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "204": {
+ "description": "The service does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service": {
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_ListByResourceGroup",
+ "description": "List all API Management services within a resource group.",
+ "x-ms-examples": {
+ "ApiManagementListServiceBySubscriptionAndResourceGroup": {
+ "$ref": "./examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API Management service list.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service": {
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_List",
+ "description": "Lists all API Management services within an Azure subscription.",
+ "x-ms-examples": {
+ "ApiManagementListServiceBySubscription": {
+ "$ref": "./examples/ApiManagementListServiceBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API Management service list.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_GetSsoToken",
+ "description": "Gets the Single-Sign-On token for the API Management Service which is valid for 5 Minutes.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetSsoToken": {
+ "$ref": "./examples/ApiManagementServiceGetSsoToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK if successful with the SSO Redirect URI.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_CheckNameAvailability",
+ "description": "Checks availability and correctness of a name for an API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceCheckNameAvailability": {
+ "$ref": "./examples/ApiManagementServiceCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceCheckNameAvailabilityParameters"
+ },
+ "description": "Parameters supplied to the CheckNameAvailability operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of check name availability.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates",
+ "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated network settings.",
+ "x-ms-examples": {
+ "ApiManagementApplyNetworkConfigurationUpdates": {
+ "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceApplyNetworkConfigurationParameters"
+ },
+ "description": "Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is deployed will be updated sequentially without incurring downtime in the region."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Network configuration updates were successfully applied on the Api Management service.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceSkuResults": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuResult"
+ },
+ "description": "The list of skus available for the service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of API Management service Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The API Management service SKUs operation response."
+ },
+ "ResourceSkuResult": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the SKU applies to."
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "readOnly": true,
+ "description": "Specifies API Management SKU."
+ },
+ "capacity": {
+ "$ref": "#/definitions/ResourceSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of API Management units."
+ }
+ },
+ "description": "Describes an available API Management service SKU."
+ },
+ "ResourceSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The maximum capacity that can be set."
+ },
+ "default": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuCapacityScaleType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "automatic",
+ "description": "Supported scale type automatic."
+ },
+ {
+ "value": "manual",
+ "description": "Supported scale type manual."
+ },
+ {
+ "value": "none",
+ "description": "Scaling not supported."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Describes scaling information of a SKU."
+ },
+ "ResourceSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Sku.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
+ },
+ "enum": [
+ "Developer",
+ "Standard",
+ "Premium",
+ "Basic",
+ "Consumption"
+ ],
+ "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."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Describes an available API Management SKU."
+ },
+ "CertificateInformation": {
+ "properties": {
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "subject": {
+ "type": "string",
+ "description": "Subject of the certificate."
+ }
+ },
+ "required": [
+ "expiry",
+ "thumbprint",
+ "subject"
+ ],
+ "description": "SSL certificate information."
+ },
+ "CertificateConfiguration": {
+ "properties": {
+ "encodedCertificate": {
+ "type": "string",
+ "description": "Base64 Encoded certificate."
+ },
+ "certificatePassword": {
+ "type": "string",
+ "description": "Certificate Password."
+ },
+ "storeName": {
+ "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations.",
+ "type": "string",
+ "enum": [
+ "CertificateAuthority",
+ "Root"
+ ]
+ },
+ "certificate": {
+ "$ref": "#/definitions/CertificateInformation",
+ "description": "Certificate information."
+ }
+ },
+ "required": [
+ "storeName"
+ ],
+ "description": "Certificate configuration which consist of non-trusted intermediates and root certificates."
+ },
+ "HostnameConfiguration": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Hostname type.",
+ "enum": [
+ "Proxy",
+ "Portal",
+ "Management",
+ "Scm",
+ "DeveloperPortal"
+ ],
+ "x-ms-enum": {
+ "name": "HostnameType",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Hostname to configure on the Api Management service."
+ },
+ "keyVaultId": {
+ "type": "string",
+ "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with MSI. The secret should be of type *application/x-pkcs12*"
+ },
+ "encodedCertificate": {
+ "type": "string",
+ "description": "Base64 Encoded certificate."
+ },
+ "certificatePassword": {
+ "type": "string",
+ "description": "Certificate Password."
+ },
+ "defaultSslBinding": {
+ "type": "boolean",
+ "description": "Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type.",
+ "default": false
+ },
+ "negotiateClientCertificate": {
+ "type": "boolean",
+ "description": "Specify true to always negotiate client certificate on the hostname. Default Value is false.",
+ "default": false
+ },
+ "certificate": {
+ "$ref": "#/definitions/CertificateInformation",
+ "description": "Certificate information."
+ }
+ },
+ "required": [
+ "type",
+ "hostName"
+ ],
+ "description": "Custom hostname configuration."
+ },
+ "VirtualNetworkConfiguration": {
+ "properties": {
+ "vnetid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The virtual network ID. This is typically a GUID. Expect a null GUID by default."
+ },
+ "subnetname": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ "subnetResourceId": {
+ "type": "string",
+ "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$",
+ "description": "The full resource ID of a subnet in a virtual network to deploy the API Management service in."
+ }
+ },
+ "description": "Configuration of a virtual network to which API Management service is deployed."
+ },
+ "AdditionalLocation": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location name of the additional region among Azure Data center regions."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "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 and Premium 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 and Premium SKU."
+ },
+ "virtualNetworkConfiguration": {
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network configuration for the location."
+ },
+ "gatewayRegionalUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service in the Region.",
+ "readOnly": true
+ },
+ "disableGateway": {
+ "type": "boolean",
+ "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.",
+ "default": false
+ }
+ },
+ "required": [
+ "location",
+ "sku"
+ ],
+ "description": "Description of an additional API Management resource location."
+ },
+ "ApiManagementServiceBackupRestoreParameters": {
+ "properties": {
+ "storageAccount": {
+ "type": "string",
+ "description": "Azure Cloud Storage account (used to place/retrieve the backup) name."
+ },
+ "accessKey": {
+ "type": "string",
+ "description": "Azure Cloud Storage account (used to place/retrieve the backup) access key."
+ },
+ "containerName": {
+ "type": "string",
+ "description": "Azure Cloud Storage blob container name used to place/retrieve the backup."
+ },
+ "backupName": {
+ "type": "string",
+ "description": "The name of the backup file to create."
+ }
+ },
+ "required": [
+ "storageAccount",
+ "accessKey",
+ "containerName",
+ "backupName"
+ ],
+ "description": "Parameters supplied to the Backup/Restore of an API Management service operation."
+ },
+ "ApiManagementServiceProperties": {
+ "properties": {
+ "publisherEmail": {
+ "type": "string",
+ "description": "Publisher email.",
+ "maxLength": 100
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "Publisher name.",
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiManagementServiceBaseProperties"
+ }
+ ],
+ "required": [
+ "publisherEmail",
+ "publisherName"
+ ],
+ "description": "Properties of an API Management service resource description."
+ },
+ "ApiManagementServiceUpdateProperties": {
+ "properties": {
+ "publisherEmail": {
+ "type": "string",
+ "description": "Publisher email.",
+ "maxLength": 100
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "Publisher name.",
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiManagementServiceBaseProperties"
+ }
+ ],
+ "description": "Properties of an API Management service resource description."
+ },
+ "ApiManagementServiceBaseProperties": {
+ "properties": {
+ "notificationSenderEmail": {
+ "type": "string",
+ "description": "Email address from which the notification will be sent.",
+ "maxLength": 100
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.",
+ "readOnly": true
+ },
+ "targetProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the API Management service, which is targeted by the long running operation started on the service.",
+ "readOnly": true
+ },
+ "createdAtUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.",
+ "readOnly": true
+ },
+ "gatewayUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service.",
+ "readOnly": true
+ },
+ "gatewayRegionalUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service in the Default Region.",
+ "readOnly": true
+ },
+ "portalUrl": {
+ "type": "string",
+ "description": "Publisher portal endpoint Url of the API Management service.",
+ "readOnly": true
+ },
+ "managementApiUrl": {
+ "type": "string",
+ "description": "Management API endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "scmUrl": {
+ "type": "string",
+ "description": "SCM endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "developerPortalUrl": {
+ "type": "string",
+ "description": "DEveloper Portal endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "hostnameConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostnameConfiguration"
+ },
+ "description": "Custom hostname configuration of the API Management service."
+ },
+ "publicIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard and Premium 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 and Premium SKU."
+ },
+ "virtualNetworkConfiguration": {
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network configuration of the API Management service."
+ },
+ "additionalLocations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalLocation"
+ },
+ "description": "Additional datacenter locations of the API Management service."
+ },
+ "customProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Custom properties of the API Management service.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"
+ },
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateConfiguration"
+ },
+ "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."
+ },
+ "enableClientCertificate": {
+ "type": "boolean",
+ "description": "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.",
+ "default": false
+ },
+ "disableGateway": {
+ "type": "boolean",
+ "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.",
+ "default": false
+ },
+ "virtualNetworkType": {
+ "type": "string",
+ "description": "The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.",
+ "default": "None",
+ "enum": [
+ "None",
+ "External",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "The service is not part of any Virtual Network."
+ },
+ {
+ "value": "External",
+ "description": "The service is part of Virtual Network and it is accessible from Internet."
+ },
+ {
+ "value": "Internal",
+ "description": "The service is part of Virtual Network and it is only accessible from within the virtual network."
+ }
+ ]
+ }
+ },
+ "apiVersionConstraint": {
+ "$ref": "#/definitions/ApiVersionConstraint",
+ "description": "Control Plane Apis version constraint for the API Management service."
+ }
+ },
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Capacity of the SKU (number of deployed units of the SKU)."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "API Management service resource SKU properties."
+ },
+ "ApiManagementServiceResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceProperties",
+ "description": "Properties of the API Management service."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "identity": {
+ "$ref": "#/definitions/ApiManagementServiceIdentity",
+ "description": "Managed service identity of the Api Management service."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "ETag of the resource.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApimResource"
+ }
+ ],
+ "required": [
+ "location",
+ "sku",
+ "properties"
+ ],
+ "description": "A single API Management service resource in List or Get response."
+ },
+ "ApimResource": {
+ "description": "The Resource definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name.",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type for API Management resource is set to Microsoft.ApiManagement."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ApiManagementServiceUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceUpdateProperties",
+ "description": "Properties of the API Management service."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "identity": {
+ "$ref": "#/definitions/ApiManagementServiceIdentity",
+ "description": "Managed service identity of the Api Management service."
+ },
+ "etag": {
+ "type": "string",
+ "description": "ETag of the resource.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApimResource"
+ }
+ ],
+ "description": "Parameter supplied to Update Api Management Service."
+ },
+ "ApiManagementServiceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ },
+ "description": "Result of the List API Management services operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of API Management services."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The response of the List API Management services operation."
+ },
+ "ApiManagementServiceGetSsoTokenResult": {
+ "properties": {
+ "redirectUri": {
+ "type": "string",
+ "description": "Redirect URL to the Publisher Portal containing the SSO token."
+ }
+ },
+ "description": "The response of the GetSsoToken operation."
+ },
+ "ApiManagementServiceCheckNameAvailabilityParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name to check for availability."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameters supplied to the CheckNameAvailability operation."
+ },
+ "ApiManagementServiceNameAvailabilityResult": {
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "True if the name is available and can be used to create a new API Management service; otherwise false.",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.",
+ "readOnly": true
+ },
+ "reason": {
+ "type": "string",
+ "description": "Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReason",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Response of the CheckNameAvailability operation."
+ },
+ "ApiManagementServiceApplyNetworkConfigurationParameters": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required."
+ }
+ },
+ "description": "Parameter supplied to the Apply Network configuration operation."
+ },
+ "ApiManagementServiceIdentity": {
+ "description": "Identity properties of the Api Management service resource.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ApimIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true,
+ "description": "The principal id of the identity."
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true,
+ "description": "The client tenant id of the identity."
+ },
+ "userAssignedIdentities": {
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "Operation": {
+ "description": "REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "description": "Friendly name of the resource provider",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: read, write, delete, listKeys/action, etc.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Friendly name of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The operation origin."
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The operation properties."
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
new file mode 100644
index 000000000000..ecc6ece44743
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
@@ -0,0 +1,367 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The Diagnostic was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Delete",
+ "description": "Deletes the specified Diagnostic.",
+ "x-ms-examples": {
+ "ApiManagementDeleteDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "204": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
new file mode 100644
index 000000000000..c7a4faec4aae
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
@@ -0,0 +1,354 @@
+{
+ "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": "2019-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.ApiManagement/service/{serviceName}/templates": {
+ "get": {
+ "tags": [
+ "EmailTemplate"
+ ],
+ "operationId": "EmailTemplate_ListByService",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListEmailTemplates": {
+ "$ref": "./examples/ApiManagementListEmailTemplates.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": {
+ "ApiManagementGetEmailTemplate": {
+ "$ref": "./examples/ApiManagementGetEmailTemplate.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": {
+ "ApiManagementCreateEmailTemplate": {
+ "$ref": "./examples/ApiManagementCreateEmailTemplate.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 the specific Email Template.",
+ "x-ms-examples": {
+ "ApiManagementUpdateEmailTemplate": {
+ "$ref": "./examples/ApiManagementUpdateEmailTemplate.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": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Email Template was successfully updated."
+ },
+ "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": {
+ "ApiManagementDeleteEmailTemplate": {
+ "$ref": "./examples/ApiManagementDeleteEmailTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "204": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
new file mode 100644
index 000000000000..2225a172bf36
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
@@ -0,0 +1,581 @@
+{
+ "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": "2019-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.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 | | aadObjectId | 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": {
+ "204": {
+ "description": "The group details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Delete",
+ "description": "Deletes specific group of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroup": {
+ "$ref": "./examples/ApiManagementDeleteGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group was successfully deleted."
+ },
+ "204": {
+ "description": "The group was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users": {
+ "get": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_List",
+ "description": "Lists a collection of user entities associated with the group.",
+ "x-ms-examples": {
+ "ApiManagementListGroupUsers": {
+ "$ref": "./examples/ApiManagementListGroupUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | registrationDate | filter | ge, le, eq, ne, gt, lt | | | note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of user entities associated with the group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}": {
+ "head": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_CheckEntityExists",
+ "description": "Checks that user entity specified by identifier is associated with the group entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroupUser": {
+ "$ref": "./examples/ApiManagementHeadGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "404": {
+ "description": "Entity does not exists."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_Create",
+ "description": "Add existing user to existing group",
+ "x-ms-examples": {
+ "ApiManagementCreateGroupUser": {
+ "$ref": "./examples/ApiManagementCreateGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully added to the group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "200": {
+ "description": "The specified user is already a member of the specified group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_Delete",
+ "description": "Remove existing user from existing group.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroupUser": {
+ "$ref": "./examples/ApiManagementDeleteGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user was successfully removed from the group."
+ },
+ "204": {
+ "description": "The user was successfully removed from the group."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
new file mode 100644
index 000000000000..e8b8934300eb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
@@ -0,0 +1,401 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The existing identity provider configuration was successfully updated."
+ },
+ "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": {
+ "ApiManagementListSecretsIdentityProvider": {
+ "$ref": "./examples/ApiManagementListSecretsIdentityProvider.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"
+ }
+ },
+ "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/2019-12-01-preview/apimissues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
new file mode 100644
index 000000000000..dae0bd79749a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
@@ -0,0 +1,150 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use this REST API to get all the issues across an Azure Api Management service.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/issues": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_ListByService",
+ "description": "Lists a collection of issues in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListIssues": {
+ "$ref": "./examples/ApiManagementListIssues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | apiId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | authorName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | state | filter | eq | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Issue entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues/{issueId}": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_Get",
+ "description": "Gets API Management issue details",
+ "x-ms-examples": {
+ "ApiManagementGetIssue": {
+ "$ref": "./examples/ApiManagementGetIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the issue.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
new file mode 100644
index 000000000000..319975aa93a6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
@@ -0,0 +1,380 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The existing logger was successfully updated."
+ },
+ "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"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force deletion even if diagnostic is attached."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The logger was successfully deleted."
+ },
+ "204": {
+ "description": "The logger was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
new file mode 100644
index 000000000000..c8919167aee0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
@@ -0,0 +1,441 @@
+{
+ "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": "2019-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.ApiManagement/service/{serviceName}/namedValues": {
+ "get": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_ListByService",
+ "description": "Lists a collection of NamedValues defined within a service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-properties"
+ },
+ "x-ms-examples": {
+ "ApiManagementListNamedValues": {
+ "$ref": "./examples/ApiManagementListNamedValues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| tags | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the NamedValue 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 NamedValue 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 NamedValue 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 NamedValue specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNamedValue": {
+ "$ref": "./examples/ApiManagementGetNamedValue.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 NamedValue entity.",
+ "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 a NamedValue.",
+ "x-ms-examples": {
+ "ApiManagementCreateNamedValue": {
+ "$ref": "./examples/ApiManagementCreateNamedValue.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 NamedValue was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "201": {
+ "description": "NamedValue 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": "NamedValue 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 NamedValue.",
+ "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 update NamedValue was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "204": {
+ "description": "NamedValue was successfully updated."
+ },
+ "200": {
+ "description": "NamedValue 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 NamedValue 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": "NamedValue was successfully deleted."
+ },
+ "204": {
+ "description": "NamedValue 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 value of the NamedValue.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsSubscription": {
+ "$ref": "./examples/ApiManagementListSecretsNamedValue.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 secret value.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PropertyValueContract"
+ }
+ },
+ "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/2019-12-01-preview/apimnetworkstatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
new file mode 100644
index 000000000000..0fc15bd8eefd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
@@ -0,0 +1,212 @@
+{
+ "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": "2019-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.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"
+ }
+ },
+ "required": [
+ "name",
+ "status",
+ "lastUpdated",
+ "lastStatusChange"
+ ],
+ "description": "Details about connectivity to a resource."
+ },
+ "NetworkStatusContractByLocation": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of service",
+ "minLength": 1
+ },
+ "networkStatus": {
+ "$ref": "#/definitions/NetworkStatusContract",
+ "description": "Network status in Location"
+ }
+ },
+ "description": "Network Status in the Location"
+ },
+ "NetworkStatusContract": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Gets the list of DNS servers IPV4 addresses."
+ },
+ "connectivityStatus": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectivityStatusContract"
+ },
+ "description": "Gets the list of Connectivity Status to the Resources on which the service depends upon."
+ }
+ },
+ "required": [
+ "dnsServers",
+ "connectivityStatus"
+ ],
+ "description": "Network Status details."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
new file mode 100644
index 000000000000..d71b56db90aa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
@@ -0,0 +1,564 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on who is going to receive notifications associated with your Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/notifications": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_ListByService",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListNotifications": {
+ "$ref": "./examples/ApiManagementListNotifications.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Notification for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_Get",
+ "description": "Gets the details of the Notification specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNotification": {
+ "$ref": "./examples/ApiManagementGetNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_CreateOrUpdate",
+ "description": "Create or Update API Management publisher notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotification": {
+ "$ref": "./examples/ApiManagementCreateNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Notification was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": {
+ "get": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_ListByNotification",
+ "description": "Gets the list of the Notification Recipient User subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientUsers": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient User collection for the notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CheckEntityExists",
+ "description": "Determine if the Notification Recipient User is subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The User is subscribed to receive the notification."
+ },
+ "404": {
+ "description": "Entity does not exists."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CreateOrUpdate",
+ "description": "Adds the API Management User to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient User was successfully added to the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserContract"
+ }
+ },
+ "200": {
+ "description": "Recipient User is already part of the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_Delete",
+ "description": "Removes the API Management user from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "204": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails": {
+ "get": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_ListByNotification",
+ "description": "Gets the list of the Notification Recipient Emails subscribed to a notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientEmails": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientEmails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient Email collection subscribed to the notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CheckEntityExists",
+ "description": "Determine if Notification Recipient Email subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Users is subscribed to receive the notification."
+ },
+ "404": {
+ "description": "The Users is not subscribed to receive the notification."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CreateOrUpdate",
+ "description": "Adds the Email address to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient Email was successfully added to the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailContract"
+ }
+ },
+ "200": {
+ "description": "Recipient Email is already part of the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_Delete",
+ "description": "Removes the email from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "204": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
new file mode 100644
index 000000000000..883fe00fa510
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
@@ -0,0 +1,412 @@
+{
+ "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": "2019-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.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.",
+ "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.",
+ "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/OpenidConnectProviderCreateContract"
+ },
+ "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": {
+ "204": {
+ "description": "OpenId Connect Provider was successfully updated."
+ },
+ "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": {
+ "ApiManagementListSecretsOpenidConnectProvider": {
+ "$ref": "./examples/ApiManagementListSecretsOpenIdConnectProvider.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 client secret.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ClientSecretContract"
+ }
+ },
+ "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/2019-12-01-preview/apimpolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
new file mode 100644
index 000000000000..aff8f2a4f46f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
@@ -0,0 +1,304 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Global Policies in Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/policies": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_ListByService",
+ "description": "Lists all the Global Policy definitions of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementListPolicies": {
+ "$ref": "./examples/ApiManagementListPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of Policy Contracts.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Global policy definition in the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementHeadPolicy": {
+ "$ref": "./examples/ApiManagementHeadPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Get",
+ "description": "Get the Global policy definition of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementGetPolicy": {
+ "$ref": "./examples/ApiManagementGetPolicy.json"
+ },
+ "ApiManagementGetPolicyFormat": {
+ "$ref": "./examples/ApiManagementGetPolicyFormat.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the Global policy definition of the Api Management service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_CreateOrUpdate",
+ "description": "Creates or updates the global policy configuration of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementCreatePolicy": {
+ "$ref": "./examples/ApiManagementCreatePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Global policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Global policy configuration of the Api Management service was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Delete",
+ "description": "Deletes the global policy configuration of the Api Management Service.",
+ "x-ms-examples": {
+ "ApiManagementDeletePolicy": {
+ "$ref": "./examples/ApiManagementDeletePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy was successfully removed"
+ },
+ "204": {
+ "description": "Policy successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
new file mode 100644
index 000000000000..17e7dde0c1cb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
@@ -0,0 +1,100 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieving a collection of policy snippets available in Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/policyDescriptions": {
+ "get": {
+ "tags": [
+ "PolicyDescription"
+ ],
+ "operationId": "PolicyDescription_ListByService",
+ "description": "Lists all policy descriptions.",
+ "x-ms-examples": {
+ "ApiManagementListPolicyDescriptions": {
+ "$ref": "./examples/ApiManagementListPolicyDescriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy scope.",
+ "enum": [
+ "Tenant",
+ "Product",
+ "Api",
+ "Operation",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyScopeContract",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of policy descriptions.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
new file mode 100644
index 000000000000..f0a3d19cde17
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
@@ -0,0 +1,657 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on PortalSettings entity associated with your Azure API Management deployment. Using this entity you can manage settings for a Developer Portal.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/portalsettings/signin": {
+ "head": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the SignInSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignInSettings": {
+ "$ref": "./examples/ApiManagementHeadSignInSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Get",
+ "description": "Get Sign In Settings for the Portal",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Update",
+ "description": "Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "description": "Update Sign-In settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-In settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup": {
+ "head": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the SignUpSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignUpSettings": {
+ "$ref": "./examples/ApiManagementHeadSignUpSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Get",
+ "description": "Get Sign Up Settings for the Portal",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Update",
+ "description": "Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "description": "Update Sign-Up settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-Up settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation": {
+ "head": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadDelegationSettings": {
+ "$ref": "./examples/ApiManagementHeadDelegationSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Get",
+ "description": "Get Delegation Settings for the Portal.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Update",
+ "description": "Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "description": "Update Delegation settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delegation settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_CreateOrUpdate",
+ "description": "Create or Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation/listSecrets": {
+ "post": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_ListSecrets",
+ "description": "Gets the secret validation key of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsPortalSettings": {
+ "$ref": "./examples/ApiManagementListSecretsPortalSettingsValidationKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the validation key.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSettingValidationKeyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
new file mode 100644
index 000000000000..1e5c03373f40
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
@@ -0,0 +1,1399 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "Product details was successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Delete",
+ "description": "Delete product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProduct": {
+ "$ref": "./examples/ApiManagementDeleteProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Delete existing subscriptions associated with the product or not."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product was successfully removed."
+ },
+ "204": {
+ "description": "Product was successfully removed by previous request or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": {
+ "get": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_ListByProduct",
+ "description": "Lists a collection of the APIs associated with a product.",
+ "x-ms-examples": {
+ "ApiManagementListProductApis": {
+ "$ref": "./examples/ApiManagementListProductApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains a collection of Api entities in the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_CheckEntityExists",
+ "description": "Checks that API entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductApi": {
+ "$ref": "./examples/ApiManagementHeadProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_CreateOrUpdate",
+ "description": "Adds an API to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductApi": {
+ "$ref": "./examples/ApiManagementCreateProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The API was successfully added to the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "200": {
+ "description": "The specified API is already added to the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_Delete",
+ "description": "Deletes the specified API from the specified product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductApi": {
+ "$ref": "./examples/ApiManagementDeleteProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully removed from product"
+ },
+ "204": {
+ "description": "API successfully removed by previous request or does not exist in product"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": {
+ "get": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_ListByProduct",
+ "description": "Lists the collection of developer groups associated with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductGroups": {
+ "$ref": "./examples/ApiManagementListProductGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | | | displayName | filter | eq, ne | | | description | filter | eq, ne | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": {
+ "head": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_CheckEntityExists",
+ "description": "Checks that Group entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductGroup": {
+ "$ref": "./examples/ApiManagementHeadProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Group is associated with the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_CreateOrUpdate",
+ "description": "Adds the association between the specified developer group with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductGroup": {
+ "$ref": "./examples/ApiManagementCreateProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The group was successfully associated with the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "200": {
+ "description": "The specified group is already associated with the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_Delete",
+ "description": "Deletes the association between the specified group and product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductGroup": {
+ "$ref": "./examples/ApiManagementDeleteProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "204": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": {
+ "get": {
+ "tags": [
+ "ProductSubscription"
+ ],
+ "operationId": "ProductSubscriptions_List",
+ "description": "Lists the collection of subscriptions to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductSubscriptions": {
+ "$ref": "./examples/ApiManagementListProductSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | state | filter | eq | | | user | expand | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of subscription entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies": {
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_ListByProduct",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementListProductPolicies": {
+ "$ref": "./examples/ApiManagementListProductPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_GetEntityTag",
+ "description": "Get the ETag of the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductPolicy": {
+ "$ref": "./examples/ApiManagementHeadProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy Etag information.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Get",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementGetProductPolicy": {
+ "$ref": "./examples/ApiManagementGetProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductPolicy": {
+ "$ref": "./examples/ApiManagementCreateProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Product policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Delete",
+ "description": "Deletes the policy configuration at the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductPolicy": {
+ "$ref": "./examples/ApiManagementDeleteProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "204": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": {
+ "get": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_ListByProduct",
+ "description": "Lists all Tags associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementListProductTags": {
+ "$ref": "./examples/ApiManagementListProductTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Product entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_GetEntityStateByProduct",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductTag": {
+ "$ref": "./examples/ApiManagementHeadProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_GetByProduct",
+ "description": "Get tag associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementGetProductTag": {
+ "$ref": "./examples/ApiManagementGetProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_AssignToProduct",
+ "description": "Assign tag to the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductTag": {
+ "$ref": "./examples/ApiManagementCreateProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_DetachFromProduct",
+ "description": "Detach the tag from the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductTag": {
+ "$ref": "./examples/ApiManagementDeleteProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "204": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
new file mode 100644
index 000000000000..b48a9442ece4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations to retrieve Products by Tags in Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/productsByTags": {
+ "get": {
+ "tags": [
+ "ProductsByTag"
+ ],
+ "operationId": "Product_ListByTags",
+ "description": "Lists a collection of products associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListProductsByTags": {
+ "$ref": "./examples/ApiManagementListProductsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | state | filter | eq | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedProducts",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Products."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
new file mode 100644
index 000000000000..bc963ac6c6a0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
@@ -0,0 +1,242 @@
+{
+ "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": "2019-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.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/QuotaCounterValueContractProperties"
+ },
+ "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": {
+ "204": {
+ "description": "Quota counter period was successfully updated."
+ },
+ "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/QuotaCounterValueContractProperties"
+ },
+ "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": {
+ "204": {
+ "description": "The quota counter value was successfully updated."
+ },
+ "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/2019-12-01-preview/apimregions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
new file mode 100644
index 000000000000..6ddc91b450da
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
@@ -0,0 +1,85 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/regions": {
+ "get": {
+ "tags": [
+ "Region"
+ ],
+ "operationId": "Region_ListByService",
+ "description": "Lists all azure regions in which the service exists.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementListRegions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of Regions in which the service is deployed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/RegionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
new file mode 100644
index 000000000000..7c36098ced38
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
@@ -0,0 +1,514 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/reports/byApi": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByApi",
+ "description": "Lists report records by API.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByApi": {
+ "$ref": "./examples/ApiManagementGetReportsByApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByUser",
+ "description": "Lists report records by User.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByUser": {
+ "$ref": "./examples/ApiManagementGetReportsByUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | userId | select, filter | eq | | | apiRegion | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByOperation",
+ "description": "Lists report records by API Operations.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByOperation": {
+ "$ref": "./examples/ApiManagementGetReportsByOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | select, filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByProduct",
+ "description": "Lists report records by Product.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByProduct": {
+ "$ref": "./examples/ApiManagementGetReportsByProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | select, filter | eq | | | subscriptionId | filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByGeo",
+ "description": "Lists report records by geography.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByGeo": {
+ "$ref": "./examples/ApiManagementGetReportsByGeo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | country | select | | | | region | select | | | | zip | select | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select | | | | callCountBlocked | select | | | | callCountFailed | select | | | | callCountOther | select | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListBySubscription",
+ "description": "Lists report records by subscription.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsBySubscription": {
+ "$ref": "./examples/ApiManagementGetReportsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | select, filter | eq | | | productId | select, filter | eq | | | subscriptionId | select, filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByTime",
+ "description": "Lists report records by Time.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByTime": {
+ "$ref": "./examples/ApiManagementGetReportsByTime.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter, select | ge, le | | | interval | select | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select | | | | callCountBlocked | select | | | | callCountFailed | select | | | | callCountOther | select | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "name": "interval",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "format": "duration",
+ "description": "By time interval. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByRequest",
+ "description": "Lists report records by Request.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByRequest": {
+ "$ref": "./examples/ApiManagementGetReportsByRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | apiId | filter | eq | | | operationId | filter | eq | | | productId | filter | eq | | | userId | filter | eq | | | apiRegion | filter | eq | | | subscriptionId | filter | eq | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RequestReportCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-odata": "./definitions.json#/definitions/RequestReportRecordContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
new file mode 100644
index 000000000000..e65c6fed7c63
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
@@ -0,0 +1,502 @@
+{
+ "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": "2019-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.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"
+ }
+ ],
+ "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"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The subscription details were successfully updated."
+ },
+ "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 subscription keys.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsSubscription": {
+ "$ref": "./examples/ApiManagementListSecretsSubscription.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"
+ }
+ },
+ "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/2019-12-01-preview/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
new file mode 100644
index 000000000000..3cc19f16cb05
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
@@ -0,0 +1,99 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for querying APIs. Operations and Products by tags in your Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/tagResources": {
+ "get": {
+ "tags": [
+ "TagResource"
+ ],
+ "operationId": "TagResource_ListByService",
+ "description": "Lists a collection of resources associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListTagResources": {
+ "$ref": "./examples/ApiManagementListTagResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| aid | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | state | filter | eq | | | isCurrent | filter | eq | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
new file mode 100644
index 000000000000..f68fe9ad2a81
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
@@ -0,0 +1,374 @@
+{
+ "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": "2019-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.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": {
+ "204": {
+ "description": "The tag details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Delete",
+ "description": "Deletes specific tag of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTag": {
+ "$ref": "./examples/ApiManagementDeleteTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag successfully removed"
+ },
+ "204": {
+ "description": "Tag successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
new file mode 100644
index 000000000000..7dc999f6a6ee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
@@ -0,0 +1,740 @@
+{
+ "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": "2019-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.ApiManagement/service/{serviceName}/tenant/{accessName}": {
+ "head": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_GetEntityTag",
+ "description": "Tenant access metadata",
+ "x-ms-examples": {
+ "ApiManagementHeadTenantAccess": {
+ "$ref": "./examples/ApiManagementHeadTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Get",
+ "description": "Get tenant access information details without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetTenantAccess": {
+ "$ref": "./examples/ApiManagementGetTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Update",
+ "description": "Update tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementUpdateTenantAccess": {
+ "$ref": "./examples/ApiManagementUpdateTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationUpdateParameters"
+ },
+ "description": "Parameters supplied to retrieve the Tenant Access Information."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Tenant's access information updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/listSecrets": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_ListSecrets",
+ "description": "Get tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsTenantAccess": {
+ "$ref": "./examples/ApiManagementListSecretsTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git": {
+ "get": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_Get",
+ "description": "Gets the Git access configuration for the tenant. Without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetTenantAccess": {
+ "$ref": "./examples/ApiManagementGetTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Git Access Information for the Service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/listSecrets": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_ListSecrets",
+ "description": "Gets the Git access configuration for the tenant.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsTenantAccess": {
+ "$ref": "./examples/ApiManagementListSecretsTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Git Access Information for the Service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Deploy",
+ "description": "This operation applies changes from the specified Git branch to the configuration database. This is a long running operation and could take several minutes to complete.",
+ "externalDocs": {
+ "description": "To deploy any service configuration changes to the API Management service instance",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-deploy-any-service-configuration-changes-to-the-api-management-service-instance"
+ },
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationDeploy": {
+ "$ref": "./examples/ApiManagementTenantConfigurationDeploy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Deploy Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of applying changes from Git branch to database.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Save",
+ "description": "This operation creates a commit with the current configuration snapshot to the specified branch in the repository. This is a long running operation and could take several minutes to complete.",
+ "externalDocs": {
+ "description": "To save the service configuration to the Git repository",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-save-the-service-configuration-to-the-git-repository"
+ },
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationSave": {
+ "$ref": "./examples/ApiManagementTenantConfigurationSave.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SaveConfigurationParameter"
+ },
+ "description": "Save Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of creating a commit in the repository.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Validate",
+ "description": "This operation validates the changes in the specified Git branch. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationValidate": {
+ "$ref": "./examples/ApiManagementTenantConfigurationValidate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Validate Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of validating the changes in the specified Git branch.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState": {
+ "get": {
+ "tags": [
+ "TenantConfigurationSyncState"
+ ],
+ "operationId": "TenantConfiguration_GetSyncState",
+ "description": "Gets the status of the most recent synchronization between the configuration database and the Git repository.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessSyncState": {
+ "$ref": "./examples/ApiManagementTenantAccessSyncState.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sync state result.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TenantConfigurationSyncStateContract"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
new file mode 100644
index 000000000000..f721a13e6389
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
@@ -0,0 +1,702 @@
+{
+ "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": "2019-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.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."
+ },
+ {
+ "$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": {
+ "204": {
+ "description": "The user details were successfully updated."
+ },
+ "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"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details were successfully deleted."
+ },
+ "204": {
+ "description": "The user details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/generateSsoUrl": {
+ "post": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_GenerateSsoUrl",
+ "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.",
+ "x-ms-examples": {
+ "ApiManagementUserGenerateSsoUrl": {
+ "$ref": "./examples/ApiManagementUserGenerateSsoUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the single sign-on URL.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "./definitions.json#/definitions/GenerateSsoUrlResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/groups": {
+ "get": {
+ "tags": [
+ "UserGroup"
+ ],
+ "operationId": "UserGroup_List",
+ "description": "Lists all user groups.",
+ "x-ms-examples": {
+ "ApiManagementListUserGroups": {
+ "$ref": "./examples/ApiManagementListUserGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions": {
+ "get": {
+ "tags": [
+ "UserSubscription"
+ ],
+ "operationId": "UserSubscription_List",
+ "description": "Lists the collection of subscriptions of the specified user.",
+ "x-ms-examples": {
+ "ApiManagementListUserSubscriptions": {
+ "$ref": "./examples/ApiManagementListUserSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Subscription entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/identities": {
+ "get": {
+ "tags": [
+ "UserIdentity"
+ ],
+ "operationId": "UserIdentities_List",
+ "description": "List of all user identities.",
+ "x-ms-examples": {
+ "ApiManagementListUserIdentities": {
+ "$ref": "./examples/ApiManagementListUserIdentities.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of User Identities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserIdentityCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/token": {
+ "post": {
+ "tags": [
+ "UserToken"
+ ],
+ "operationId": "User_GetSharedAccessToken",
+ "description": "Gets the Shared Access Authorization Token for the User.",
+ "x-ms-examples": {
+ "ApiManagementUserToken": {
+ "$ref": "./examples/ApiManagementUserToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserTokenParameters"
+ },
+ "description": "Create Authorization Token parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the authorization token for the user.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "./definitions.json#/definitions/UserTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/confirmations/password/send": {
+ "post": {
+ "tags": [
+ "UserConfirmationPasswordSend"
+ ],
+ "operationId": "UserConfirmationPassword_Send",
+ "description": "Sends confirmation",
+ "x-ms-examples": {
+ "ApiManagementUserConfirmationPasswordSend": {
+ "$ref": "./examples/ApiManagementUserConfirmationPasswordSend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Notification successfully sent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
new file mode 100644
index 000000000000..058d474ffcec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
@@ -0,0 +1,5371 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-01-preview",
+ "description": "A spec file containing all the definitions",
+ "title": "Definitions file"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "AccessInformationContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information contract of the API Management service."
+ },
+ "AccessInformationUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessInformationUpdateParameterProperties",
+ "description": "Tenant access information update parameter properties."
+ }
+ },
+ "description": "Tenant access information update parameters."
+ },
+ "AccessInformationUpdateParameterProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information update parameters of the API Management service"
+ },
+ "ApiCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Api list representation."
+ },
+ "ApiContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiContractProperties",
+ "description": "Api entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api details."
+ },
+ "ApiContractProperties": {
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "API identifier of the source API."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "API name. Must be 1 to 300 characters long.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.",
+ "minLength": 0,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ },
+ "apiVersionSet": {
+ "description": "Version set details",
+ "$ref": "#/definitions/ApiVersionSetContractDetails"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "required": [
+ "path"
+ ],
+ "description": "Api Entity Properties"
+ },
+ "ApiCreateOrUpdateParameter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiCreateOrUpdateProperties",
+ "description": "Api entity create of update properties."
+ }
+ },
+ "description": "API Create or Update Parameters."
+ },
+ "ApiCreateOrUpdateProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Content value when Importing an API."
+ },
+ "format": {
+ "type": "string",
+ "description": "Format of the Content in which the API is getting imported.",
+ "enum": [
+ "wadl-xml",
+ "wadl-link-json",
+ "swagger-json",
+ "swagger-link-json",
+ "wsdl",
+ "wsdl-link",
+ "openapi",
+ "openapi+json",
+ "openapi-link",
+ "openapi+json-link"
+ ],
+ "x-ms-enum": {
+ "name": "ContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "wadl-xml",
+ "description": "The contents are inline and Content type is a WADL document."
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "The WADL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "swagger-json",
+ "description": "The contents are inline and Content Type is a OpenApi 2.0 Document."
+ },
+ {
+ "value": "swagger-link-json",
+ "description": "The Open Api 2.0 document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "wsdl",
+ "description": "The contents are inline and the document is a WSDL/Soap document."
+ },
+ {
+ "value": "wsdl-link",
+ "description": "The WSDL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi",
+ "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in YAML format."
+ },
+ {
+ "value": "openapi+json",
+ "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in JSON format."
+ },
+ {
+ "value": "openapi-link",
+ "description": "The Open Api 3.0 document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "The Open Api 3.0 Json document is hosted on a publicly accessible internet address."
+ }
+ ]
+ }
+ },
+ "wsdlSelector": {
+ "type": "object",
+ "description": "Criteria to limit import of WSDL to a subset of the document.",
+ "properties": {
+ "wsdlServiceName": {
+ "type": "string",
+ "description": "Name of service to import from WSDL"
+ },
+ "wsdlEndpointName": {
+ "type": "string",
+ "description": "Name of endpoint(port) to import from WSDL"
+ }
+ }
+ },
+ "apiType": {
+ "type": "string",
+ "description": "Type of Api to create. \n * `http` creates a SOAP to REST API \n * `soap` creates a SOAP pass-through API .",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-client-name": "SoapApiType",
+ "x-ms-enum": {
+ "name": "SoapApiType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "Imports a SOAP API having a RESTful front end.",
+ "name": "SoapToRest"
+ },
+ {
+ "value": "soap",
+ "description": "Imports the Soap API having a SOAP front end.",
+ "name": "SoapPassThrough"
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiContractProperties"
+ }
+ ],
+ "description": "Api Create or Update Properties."
+ },
+ "ApiEntityBaseContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the API. May include HTML formatting tags."
+ },
+ "authenticationSettings": {
+ "$ref": "#/definitions/AuthenticationSettingsContract",
+ "description": "Collection of authentication settings included into this API."
+ },
+ "subscriptionKeyParameterNames": {
+ "$ref": "#/definitions/SubscriptionKeyParameterNamesContract",
+ "description": "Protocols over which API is made available."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of API.",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-client-name": "ApiType",
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "Indicates the Version identifier of the API if the API is versioned",
+ "maxLength": 100
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "description": "Indicates if API revision is current api revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "description": "Indicates if API revision is accessible via the gateway.",
+ "readOnly": true
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "description": "Description of the Api Revision.",
+ "maxLength": 256
+ },
+ "apiVersionDescription": {
+ "type": "string",
+ "description": "Description of the Api Version.",
+ "maxLength": 256
+ },
+ "apiVersionSetId": {
+ "type": "string",
+ "description": "A resource identifier for the related ApiVersionSet."
+ },
+ "subscriptionRequired": {
+ "type": "boolean",
+ "description": "Specifies whether an API or Product subscription is required for accessing the API."
+ }
+ },
+ "description": "API base contract details."
+ },
+ "ApiExportResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ResourceId of the API which was exported."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "swagger-link-json",
+ "wadl-link-json",
+ "wsdl-link+xml",
+ "openapi-link"
+ ],
+ "x-ms-client-name": "ExportResultFormat",
+ "x-ms-enum": {
+ "name": "ExportResultFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "swagger-link-json",
+ "description": "The Api Definition is exported in OpenApi Specification 2.0 format to the Storage Blob.",
+ "name": "Swagger"
+ },
+ {
+ "value": "wsdl-link+xml",
+ "description": "The Api Definition is exported in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "name": "Wsdl"
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
+ "name": "OpenApi"
+ }
+ ]
+ },
+ "description": "Format in which the Api Details are exported to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ "value": {
+ "type": "object",
+ "description": "The object defining the schema of the exported Api Detail",
+ "properties": {
+ "link": {
+ "type": "string",
+ "description": "Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes."
+ }
+ }
+ }
+ },
+ "description": "API Export result."
+ },
+ "ApiReleaseCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged ApiRelease list representation."
+ },
+ "ApiReleaseContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiReleaseContractProperties",
+ "description": "ApiRelease entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "ApiRelease details."
+ },
+ "ApiReleaseContractProperties": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "Identifier of the API the release belongs to."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API release was updated."
+ },
+ "notes": {
+ "type": "string",
+ "description": "Release Notes"
+ }
+ },
+ "description": "API Release details"
+ },
+ "ApiRevisionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiRevisionContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Api Revision list representation."
+ },
+ "ApiRevisionContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the API Revision."
+ },
+ "apiRevision": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100,
+ "readOnly": true,
+ "description": "Revision number of API."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "maxLength": 256,
+ "description": "Description of the API Revision."
+ },
+ "privateUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gateway URL for accessing the non-current API Revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is the current api revision."
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is accessible via the gateway."
+ }
+ },
+ "description": "Summary of revision metadata."
+ },
+ "ApiRevisionInfoContract": {
+ "description": "Object used to create an API Revision or Version based on an existing API Revision",
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "Resource identifier of API to be used to create the revision from."
+ },
+ "apiVersionName": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Version identifier for the new API Version."
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "Description of new API Revision."
+ },
+ "apiVersionSet": {
+ "description": "Version set details",
+ "$ref": "#/definitions/ApiVersionSetContractDetails"
+ }
+ }
+ },
+ "ApiTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "API identifier in the form /apis/{apiId}."
+ },
+ "name": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./definitions.json#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API contract properties for the Tag Resources."
+ },
+ "ApiUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiContractUpdateProperties",
+ "description": "Properties of the API entity that can be updated."
+ }
+ },
+ "description": "API update contract details."
+ },
+ "ApiContractUpdateProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": false
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API update contract properties."
+ },
+ "ApiVersionSetCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Api Version Set list representation."
+ },
+ "ApiVersionSetContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetContractProperties",
+ "description": "Api VersionSet contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Version Set Contract details."
+ },
+ "ApiVersionSetContractDetails": {
+ "description": "An API Version Set contains the common configuration for a set of API Versions relating ",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier for existing API Version Set. Omit this value to create a new Version Set."
+ },
+ "name": {
+ "type": "string",
+ "description": "The display Name of the API Version Set."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ]
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`."
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`."
+ }
+ }
+ },
+ "ApiVersionSetContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "required": [
+ "displayName",
+ "versioningScheme"
+ ],
+ "description": "Properties of an API Version Set."
+ },
+ "ApiVersionSetEntityBase": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "description": "Api Version set base parameters"
+ },
+ "ApiVersionSetUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetUpdateParametersProperties",
+ "description": "Parameters to update or create an Api Version Set Contract."
+ }
+ },
+ "description": "Parameters to update or create an Api Version Set Contract."
+ },
+ "ApiVersionSetUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifer will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "description": "Properties used to create or update an API Version Set."
+ },
+ "AuthenticationSettingsContract": {
+ "properties": {
+ "oAuth2": {
+ "$ref": "#/definitions/OAuth2AuthenticationSettingsContract",
+ "description": "OAuth2 Authentication settings"
+ },
+ "openid": {
+ "$ref": "#/definitions/OpenIdAuthenticationSettingsContract",
+ "description": "OpenID Connect Authentication Settings"
+ }
+ },
+ "description": "API Authentication Settings."
+ },
+ "AuthorizationServerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OAuth2 Authorization Servers list representation."
+ },
+ "AuthorizationServerContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationServerContractProperties",
+ "description": "Properties of the External OAuth authorization server Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerContractBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the authorization server. Can contain HTML formatting tags."
+ },
+ "authorizationMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "HEAD",
+ "OPTIONS",
+ "TRACE",
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationMethod",
+ "modelAsString": false
+ }
+ },
+ "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."
+ },
+ "clientAuthenticationMethod": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Body"
+ ],
+ "x-ms-enum": {
+ "name": "ClientAuthenticationMethod",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Basic Client Authentication method."
+ },
+ {
+ "value": "Body",
+ "description": "Body based Authentication method."
+ }
+ ]
+ }
+ },
+ "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."
+ },
+ "tokenBodyParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenBodyParameterContract"
+ },
+ "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."
+ },
+ "tokenEndpoint": {
+ "type": "string",
+ "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "supportState": {
+ "type": "boolean",
+ "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "defaultScope": {
+ "type": "string",
+ "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.3"
+ }
+ },
+ "bearerTokenSendingMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "name": "BearerTokenSendingMethod",
+ "modelAsString": true
+ }
+ },
+ "description": "Specifies the mechanism by which access token is passed to the API. ",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "resourceOwnerUsername": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."
+ },
+ "resourceOwnerPassword": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password."
+ }
+ },
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "AuthorizationServerContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "required": [
+ "displayName",
+ "clientRegistrationEndpoint",
+ "authorizationEndpoint",
+ "clientId",
+ "grantTypes"
+ ],
+ "description": "External OAuth authorization server settings Properties."
+ },
+ "AuthorizationServerUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationServerUpdateContractProperties",
+ "description": "Properties of the External OAuth authorization server update Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "BackendAuthorizationHeaderCredentials": {
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "description": "Authentication Scheme name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "parameter": {
+ "type": "string",
+ "description": "Authentication Parameter value.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "required": [
+ "scheme",
+ "parameter"
+ ],
+ "description": "Authorization header information."
+ },
+ "BackendBaseParameters": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Backend Title.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "description": {
+ "type": "string",
+ "description": "Backend Description.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "properties": {
+ "$ref": "#/definitions/BackendProperties",
+ "description": "Backend Properties contract"
+ },
+ "credentials": {
+ "$ref": "#/definitions/BackendCredentialsContract",
+ "description": "Backend Credentials Contract Properties"
+ },
+ "proxy": {
+ "$ref": "#/definitions/BackendProxyContract",
+ "description": "Backend Proxy Contract Properties"
+ },
+ "tls": {
+ "$ref": "#/definitions/BackendTlsProperties",
+ "description": "Backend TLS Properties"
+ }
+ },
+ "description": "Backend entity base Parameter set."
+ },
+ "BackendCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendContract"
+ },
+ "description": "Backend values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Backend list representation."
+ },
+ "BackendContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendContractProperties",
+ "description": "Backend entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Backend details."
+ },
+ "BackendContractProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "required": [
+ "url",
+ "protocol"
+ ],
+ "description": "Parameters supplied to the Create Backend operation."
+ },
+ "BackendCredentialsContract": {
+ "properties": {
+ "certificate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Client Certificate Thumbprint."
+ },
+ "query": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Query Parameter description."
+ },
+ "header": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Header Parameter description."
+ },
+ "authorization": {
+ "description": "Authorization header authentication",
+ "$ref": "#/definitions/BackendAuthorizationHeaderCredentials"
+ }
+ },
+ "description": "Details of the Credentials used to connect to Backend."
+ },
+ "BackendProperties": {
+ "properties": {
+ "serviceFabricCluster": {
+ "$ref": "#/definitions/BackendServiceFabricClusterProperties",
+ "description": "Backend Service Fabric Cluster Properties"
+ }
+ },
+ "description": "Properties specific to the Backend Type."
+ },
+ "BackendProxyContract": {
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx",
+ "description": "Backend entity uses these details to connect to a WebProxy."
+ },
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to connect to the WebProxy server"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to connect to the WebProxy Server"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "description": "Details of the Backend WebProxy Server to use in the Request to Backend."
+ },
+ "BackendReconnectContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendReconnectProperties",
+ "description": "Reconnect request properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Reconnect request parameters."
+ },
+ "BackendReconnectProperties": {
+ "properties": {
+ "after": {
+ "type": "string",
+ "format": "duration",
+ "description": "Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M."
+ }
+ },
+ "description": "Properties to control reconnect requests."
+ },
+ "BackendServiceFabricClusterProperties": {
+ "properties": {
+ "clientCertificatethumbprint": {
+ "description": "The client certificate thumbprint for the management endpoint.",
+ "type": "string"
+ },
+ "maxPartitionResolutionRetries": {
+ "description": "Maximum number of retries while attempting resolve the partition.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "managementEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The cluster management endpoint."
+ },
+ "serverCertificateThumbprints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Thumbprints of certificates cluster management service uses for tls communication"
+ },
+ "serverX509Names": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X509CertificateName"
+ },
+ "description": "Server X509 Certificate Names Collection"
+ }
+ },
+ "required": [
+ "managementEndpoints",
+ "clientCertificatethumbprint"
+ ],
+ "description": "Properties of the Service Fabric Type Backend."
+ },
+ "BackendTlsProperties": {
+ "properties": {
+ "validateCertificateChain": {
+ "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ },
+ "validateCertificateName": {
+ "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "description": "Properties controlling TLS Certificate Validation."
+ },
+ "BackendUpdateParameterProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Backend operation."
+ },
+ "BackendUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendUpdateParameterProperties",
+ "description": "Backend entity update contract properties."
+ }
+ },
+ "description": "Backend update parameters."
+ },
+ "BearerTokenSendingMethodsContract": {
+ "type": "string",
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "bearerTokenSendingMethods",
+ "values": [
+ {
+ "value": "authorizationHeader",
+ "description": "Access token will be transmitted in the Authorization header using Bearer schema"
+ },
+ {
+ "value": "query",
+ "description": "Access token will be transmitted as query parameters."
+ }
+ ]
+ }
+ },
+ "BodyDiagnosticSettings": {
+ "properties": {
+ "bytes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 8192,
+ "description": "Number of request body bytes to log."
+ }
+ },
+ "description": "Body logging settings."
+ },
+ "CacheCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CacheContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Caches list representation."
+ },
+ "CacheContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheContractProperties",
+ "description": "Cache properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Cache details."
+ },
+ "CacheContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "required": [
+ "connectionString"
+ ],
+ "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
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "description": "Parameters supplied to the Update Cache operation."
+ },
+ "CertificateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Certificates list representation."
+ },
+ "CertificateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateContractProperties",
+ "description": "Certificate properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Certificate details."
+ },
+ "CertificateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject attribute of the certificate."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "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"
+ }
+ },
+ "required": [
+ "data",
+ "password"
+ ],
+ "description": "Parameters supplied to the CreateOrUpdate certificate operation."
+ },
+ "DeployConfigurationParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeployConfigurationParameterProperties",
+ "description": "Deploy Configuration Parameter contract properties."
+ }
+ },
+ "description": "Deploy Tenant Configuration Contract."
+ },
+ "DeployConfigurationParameterProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch from which the configuration is to be deployed to the configuration database."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value enforcing deleting subscriptions to products that are deleted in this update."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Deploy Configuration operation."
+ },
+ "DiagnosticCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Diagnostic list representation."
+ },
+ "DiagnosticContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiagnosticContractProperties",
+ "description": "Diagnostic entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Diagnostic details."
+ },
+ "DiagnosticContractProperties": {
+ "properties": {
+ "alwaysLog": {
+ "type": "string",
+ "enum": [
+ "allErrors"
+ ],
+ "x-ms-enum": {
+ "name": "AlwaysLog",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "allErrors",
+ "description": "Always log all erroneous request regardless of sampling settings."
+ }
+ ]
+ },
+ "description": "Specifies for what type of messages sampling settings should not apply."
+ },
+ "loggerId": {
+ "type": "string",
+ "description": "Resource Id of a target logger."
+ },
+ "sampling": {
+ "$ref": "#/definitions/SamplingSettings",
+ "description": "Sampling settings for Diagnostic."
+ },
+ "frontend": {
+ "$ref": "#/definitions/PipelineDiagnosticSettings",
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway."
+ },
+ "backend": {
+ "$ref": "#/definitions/PipelineDiagnosticSettings",
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Backend"
+ },
+ "logClientIp": {
+ "type": "boolean",
+ "description": "Log the ClientIP. Default is false."
+ },
+ "httpCorrelationProtocol": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Legacy",
+ "W3C"
+ ],
+ "x-ms-enum": {
+ "name": "HttpCorrelationProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Do not read and inject correlation headers."
+ },
+ {
+ "value": "Legacy",
+ "description": "Inject Request-Id and Request-Context headers with request correlation data. See https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md."
+ },
+ {
+ "value": "W3C",
+ "description": "Inject Trace Context headers. See https://w3c.github.io/trace-context."
+ }
+ ]
+ },
+ "description": "Sets correlation protocol to use for Application Insights diagnostics."
+ },
+ "verbosity": {
+ "type": "string",
+ "enum": [
+ "verbose",
+ "information",
+ "error"
+ ],
+ "x-ms-enum": {
+ "name": "Verbosity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "verbose",
+ "description": "All the traces emitted by trace policies will be sent to the logger attached to this diagnostic instance."
+ },
+ {
+ "value": "information",
+ "description": "Traces with 'severity' set to 'information' and 'error' will be sent to the logger attached to this diagnostic instance."
+ },
+ {
+ "value": "error",
+ "description": "Only traces with 'severity' set to 'error' will be sent to the logger attached to this diagnostic instance."
+ }
+ ]
+ },
+ "description": "The verbosity level applied to traces emitted by trace policies."
+ }
+ },
+ "required": [
+ "loggerId"
+ ],
+ "description": "Diagnostic Entity Properties"
+ },
+ "EmailTemplateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged email template list representation."
+ },
+ "EmailTemplateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EmailTemplateContractProperties",
+ "description": "Email Template entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Email Template details."
+ },
+ "EmailTemplateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "isDefault": {
+ "type": "boolean",
+ "description": "Whether the template is the default template provided by Api Management or has been edited.",
+ "readOnly": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "required": [
+ "body",
+ "subject"
+ ],
+ "description": "Email Template Contract properties."
+ },
+ "EmailTemplateParametersContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Template parameter name.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "title": {
+ "type": "string",
+ "description": "Template parameter title.",
+ "minLength": 1,
+ "maxLength": 4096
+ },
+ "description": {
+ "type": "string",
+ "description": "Template parameter description.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ }
+ },
+ "description": "Email Template Parameter contract."
+ },
+ "EmailTemplateUpdateParameterProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "description": "Email Template Update Contract properties."
+ },
+ "EmailTemplateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EmailTemplateUpdateParameterProperties",
+ "description": "Email Template Update contract properties."
+ }
+ },
+ "description": "Email Template update Parameters."
+ },
+ "GenerateSsoUrlResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Redirect Url containing the SSO URL value."
+ }
+ },
+ "description": "Generate SSO Url operations response details."
+ },
+ "GroupCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Group list representation."
+ },
+ "GroupContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupContractProperties",
+ "description": "Group entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "GroupContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description. Can contain HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "builtIn": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Group contract Properties."
+ },
+ "GroupCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupCreateParametersProperties",
+ "description": "Properties supplied to Create Group operation."
+ }
+ },
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupCreateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupUpdateParametersProperties",
+ "description": "Group entity update contract properties."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ },
+ "GroupUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ },
+ "HttpMessageDiagnostic": {
+ "properties": {
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of HTTP Headers to log."
+ },
+ "body": {
+ "$ref": "#/definitions/BodyDiagnosticSettings",
+ "description": "Body logging settings."
+ }
+ },
+ "description": "Http message diagnostic settings."
+ },
+ "IdentityProviderBaseParameters": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier."
+ },
+ "signinTenant": {
+ "type": "string",
+ "description": "The TenantId to use instead of Common when logging into Active Directory"
+ },
+ "allowedTenants": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Allowed Tenants when configuring Azure Active Directory login."
+ },
+ "authority": {
+ "type": "string",
+ "description": "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."
+ },
+ "signupPolicyName": {
+ "type": "string",
+ "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "signinPolicyName": {
+ "type": "string",
+ "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "profileEditingPolicyName": {
+ "type": "string",
+ "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "passwordResetPolicyName": {
+ "type": "string",
+ "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ }
+ },
+ "description": "Identity Provider Base Parameter Properties."
+ },
+ "IdentityProviderCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderCreateContractProperties",
+ "description": "Identity Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderCreateContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId",
+ "clientSecret"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderContractProperties",
+ "description": "Identity Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ },
+ "description": "Identity Provider configuration values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "List of all the Identity Providers configured on the service instance."
+ },
+ "IdentityProviderUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderUpdateProperties",
+ "description": "Identity Provider update properties."
+ }
+ },
+ "description": "Parameters supplied to update Identity Provider"
+ },
+ "IdentityProviderUpdateProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Identity Provider operation."
+ },
+ "IssueAttachmentCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "description": "Issue Attachment values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue Attachment list representation."
+ },
+ "IssueAttachmentContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueAttachmentContractProperties",
+ "description": "Properties of the Issue Attachment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Attachment Contract details."
+ },
+ "IssueAttachmentContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Filename by which the binary data will be saved."
+ },
+ "contentFormat": {
+ "type": "string",
+ "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property."
+ },
+ "content": {
+ "type": "string",
+ "description": "An HTTP link or Base64-encoded binary data."
+ }
+ },
+ "required": [
+ "title",
+ "contentFormat",
+ "content"
+ ],
+ "description": "Issue Attachment contract Properties."
+ },
+ "IssueCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "description": "Issue values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue list representation."
+ },
+ "IssueCommentCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "description": "Issue Comment values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue Comment list representation."
+ },
+ "IssueCommentContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueCommentContractProperties",
+ "description": "Properties of the Issue Comment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Comment Contract details."
+ },
+ "IssueCommentContractProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Comment text."
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the comment was created."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user who left the comment."
+ }
+ },
+ "required": [
+ "text",
+ "userId"
+ ],
+ "description": "Issue Comment contract Properties."
+ },
+ "IssueContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueContractProperties",
+ "description": "Properties of the Issue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Contract details."
+ },
+ "IssueContractBaseProperties": {
+ "properties": {
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the issue was created."
+ },
+ "state": {
+ "type": "string",
+ "description": "Status of the issue.",
+ "enum": [
+ "proposed",
+ "open",
+ "removed",
+ "resolved",
+ "closed"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "proposed",
+ "description": "The issue is proposed."
+ },
+ {
+ "value": "open",
+ "description": "The issue is opened."
+ },
+ {
+ "value": "removed",
+ "description": "The issue was removed."
+ },
+ {
+ "value": "resolved",
+ "description": "The issue is now resolved."
+ },
+ {
+ "value": "closed",
+ "description": "The issue was closed."
+ }
+ ]
+ }
+ },
+ "apiId": {
+ "type": "string",
+ "description": "A resource identifier for the API the issue was created for."
+ }
+ },
+ "description": "Issue contract Base Properties."
+ },
+ "IssueContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The issue title."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text describing the issue."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user created the issue."
+ }
+ },
+ "required": [
+ "title",
+ "description",
+ "userId"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/IssueContractBaseProperties"
+ }
+ ],
+ "description": "Issue contract Properties."
+ },
+ "IssueUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueUpdateContractProperties",
+ "description": "Issue entity Update contract properties."
+ }
+ },
+ "description": "Issue update Parameters."
+ },
+ "IssueUpdateContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The issue title."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text describing the issue."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user created the issue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IssueContractBaseProperties"
+ }
+ ],
+ "description": "Issue contract Update Properties."
+ },
+ "LoggerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoggerContract"
+ },
+ "description": "Logger values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Logger list representation."
+ },
+ "LoggerContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoggerContractProperties",
+ "description": "Logger entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Logger details."
+ },
+ "LoggerContractProperties": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub",
+ "applicationInsights"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "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",
+ "credentials"
+ ],
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description."
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Logger credentials."
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ }
+ },
+ "description": "Parameters supplied to the Update Logger operation."
+ },
+ "NotificationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Notification list representation."
+ },
+ "NotificationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NotificationContractProperties",
+ "description": "Notification entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Notification details."
+ },
+ "NotificationContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Title of the Notification.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Notification."
+ },
+ "recipients": {
+ "$ref": "#/definitions/RecipientsContractProperties",
+ "description": "Recipient Parameter values."
+ }
+ },
+ "required": [
+ "title"
+ ],
+ "description": "Notification Contract properties."
+ },
+ "OAuth2AuthenticationSettingsContract": {
+ "properties": {
+ "authorizationServerId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "operations scope."
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OpenIdAuthenticationSettingsContract": {
+ "properties": {
+ "openidProviderId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "bearerTokenSendingMethods": {
+ "description": "How to send token to the server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BearerTokenSendingMethodsContract"
+ }
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OpenIdConnectProviderCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OpenIdProviders list representation."
+ },
+ "OpenidConnectProviderCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderCreateContractProperties",
+ "description": "OpenId Connect Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "OpenId Connect Provider details."
+ },
+ "OpenidConnectProviderCreateContractProperties": {
+ "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",
+ "clientSecret"
+ ],
+ "description": "OpenID Connect Providers Contract."
+ },
+ "OpenidConnectProviderContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderContractProperties",
+ "description": "OpenId Connect Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "OpenId Connect Provider details."
+ },
+ "OpenidConnectProviderContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "required": [
+ "displayName",
+ "metadataEndpoint",
+ "clientId"
+ ],
+ "description": "OpenID Connect Providers Contract."
+ },
+ "OpenidConnectProviderUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderUpdateContractProperties",
+ "description": "OpenId Connect Provider Update contract properties."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ },
+ "OpenidConnectProviderUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ },
+ "OperationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Operation list representation."
+ },
+ "OperationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationContractProperties",
+ "description": "Properties of the Operation Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Api Operation details."
+ },
+ "OperationContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "required": [
+ "displayName",
+ "method",
+ "urlTemplate"
+ ],
+ "description": "Operation Contract Properties"
+ },
+ "OperationEntityBaseContract": {
+ "properties": {
+ "templateParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of URL template parameters."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation. May include HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "request": {
+ "$ref": "#/definitions/RequestContract",
+ "description": "An entity containing request details."
+ },
+ "responses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResponseContract"
+ },
+ "description": "Array of Operation responses."
+ },
+ "policies": {
+ "type": "string",
+ "description": "Operation Policies"
+ }
+ },
+ "description": "Api Operation Entity Base Contract details."
+ },
+ "OperationResultContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Operation result identifier."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of an async operation.",
+ "enum": [
+ "Started",
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AsyncOperationStatus",
+ "modelAsString": false
+ }
+ },
+ "started": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "updated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "resultInfo": {
+ "type": "string",
+ "description": "Optional result info."
+ },
+ "error": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponseBody",
+ "description": "Error Body Contract"
+ },
+ "actionLog": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResultLogItemContract"
+ },
+ "readOnly": true,
+ "description": "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."
+ }
+ },
+ "description": "Operation Result."
+ },
+ "OperationResultLogItemContract": {
+ "properties": {
+ "objectType": {
+ "type": "string",
+ "description": "The type of entity contract."
+ },
+ "action": {
+ "type": "string",
+ "description": "Action like create/update/delete."
+ },
+ "objectKey": {
+ "type": "string",
+ "description": "Identifier of the entity being created/updated/deleted."
+ }
+ },
+ "description": "Log of the entity being created, updated or deleted."
+ },
+ "OperationTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the operation in form /operations/{operationId}."
+ },
+ "name": {
+ "type": "string",
+ "description": "Operation name.",
+ "readOnly": true
+ },
+ "apiName": {
+ "type": "string",
+ "description": "Api Name.",
+ "readOnly": true
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Api Revision.",
+ "readOnly": true
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "Api Version.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation Description.",
+ "readOnly": true
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ },
+ "readOnly": true
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "readOnly": true
+ }
+ },
+ "description": "Operation Entity contract Properties."
+ },
+ "OperationUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationUpdateContractProperties",
+ "description": "Properties of the API Operation entity that can be updated."
+ }
+ },
+ "description": "Api Operation Update Contract details."
+ },
+ "OperationUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "description": "Operation Update Contract Properties."
+ },
+ "ParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Parameter name."
+ },
+ "description": {
+ "type": "string",
+ "description": "Parameter description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default parameter value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "Specifies whether parameter is required or not."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Parameter values."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Operation parameters details."
+ },
+ "PipelineDiagnosticSettings": {
+ "properties": {
+ "request": {
+ "$ref": "#/definitions/HttpMessageDiagnostic",
+ "description": "Diagnostic settings for request."
+ },
+ "response": {
+ "$ref": "#/definitions/HttpMessageDiagnostic",
+ "description": "Diagnostic settings for response."
+ }
+ },
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway."
+ },
+ "PolicyCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "description": "Policy Contract value."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "The response of the list policy operation."
+ },
+ "PolicyContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyContractProperties",
+ "description": "Properties of the Policy."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy Contract details."
+ },
+ "PolicyContractProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Contents of the Policy as defined by the format."
+ },
+ "format": {
+ "type": "string",
+ "description": "Format of the policyContent.",
+ "enum": [
+ "xml",
+ "xml-link",
+ "rawxml",
+ "rawxml-link"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "xml-link",
+ "description": "The policy XML document is hosted on a http endpoint accessible from the API Management service."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ },
+ {
+ "value": "rawxml-link",
+ "description": "The policy document is not Xml encoded and is hosted on a http endpoint accessible from the API Management service."
+ }
+ ]
+ },
+ "default": "xml"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "Policy contract Properties."
+ },
+ "PolicyDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyDescriptionContractProperties",
+ "description": "Policy description contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy description details."
+ },
+ "PolicyDescriptionContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Policy description.",
+ "readOnly": true
+ },
+ "scope": {
+ "type": "integer",
+ "description": "Binary OR value of the Snippet scope.",
+ "readOnly": true
+ }
+ },
+ "description": "Policy description properties."
+ },
+ "PolicyDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyDescriptionContract"
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ }
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "PortalDelegationSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalDelegationSettingsProperties",
+ "description": "Delegation settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Delegation settings for a developer portal."
+ },
+ "PortalDelegationSettingsProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A delegation Url."
+ },
+ "validationKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management."
+ },
+ "subscriptions": {
+ "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties",
+ "description": "Subscriptions delegation settings."
+ },
+ "userRegistration": {
+ "$ref": "#/definitions/RegistrationDelegationSettingsProperties",
+ "description": "User registration delegation settings."
+ }
+ },
+ "description": "Delegation settings contract properties."
+ },
+ "PortalSigninSettingProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Redirect Anonymous users to the Sign-In page."
+ }
+ },
+ "description": "Sign-in settings contract properties."
+ },
+ "PortalSigninSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSigninSettingProperties",
+ "description": "Sign-in settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Sign-In settings for the Developer Portal."
+ },
+ "PortalSignupSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSignupSettingsProperties",
+ "description": "Sign-up settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Sign-Up settings for a developer portal."
+ },
+ "PortalSignupSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Allow users to sign up on a developer portal."
+ },
+ "termsOfService": {
+ "type": "object",
+ "$ref": "#/definitions/TermsOfServiceProperties",
+ "description": "Terms of service contract properties."
+ }
+ },
+ "description": "Sign-up settings contract properties."
+ },
+ "ProductCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Products list representation."
+ },
+ "ProductContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductContractProperties",
+ "description": "Product entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Product details."
+ },
+ "ProductContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "Product profile."
+ },
+ "ProductEntityBaseParameters": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Product description. May include HTML formatting tags.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "terms": {
+ "type": "string",
+ "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process."
+ },
+ "subscriptionRequired": {
+ "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
+ "type": "boolean"
+ },
+ "approvalRequired": {
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "type": "boolean"
+ },
+ "subscriptionsLimit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ },
+ "state": {
+ "type": "string",
+ "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
+ "enum": [
+ "notPublished",
+ "published"
+ ],
+ "x-ms-enum": {
+ "name": "ProductState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Product Entity Base Parameters"
+ },
+ "ProductTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the product in the form of /products/{productId}"
+ },
+ "name": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./definitions.json#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Product profile."
+ },
+ "ProductUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductUpdateProperties",
+ "description": "Product entity Update contract properties."
+ }
+ },
+ "description": "Product Update parameters."
+ },
+ "ProductUpdateProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Product name.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Product operation."
+ },
+ "NamedValueCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NamedValueContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged NamedValue list representation."
+ },
+ "NamedValueCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueCreateContractProperties",
+ "description": "NamedValue entity contract properties for PUT operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "NamedValue details."
+ },
+ "NamedValueCreateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 4096
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName",
+ "value"
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueContractProperties",
+ "description": "NamedValue entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "NamedValue details."
+ },
+ "NamedValueContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 4096
+ }
+ },
+ "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
+ }
+ },
+ "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."
+ },
+ "RecipientEmailCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientEmailContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientEmailContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientEmailContractProperties",
+ "description": "Recipient Email contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient Email details."
+ },
+ "RecipientEmailContractProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User Email subscribed to notification."
+ }
+ },
+ "description": "Recipient Email Contract Properties."
+ },
+ "RecipientsContractProperties": {
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Emails subscribed for the notification."
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Users subscribed for the notification."
+ }
+ },
+ "description": "Notification Parameter contract."
+ },
+ "RecipientUserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientUserContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientUserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientUsersContractProperties",
+ "description": "Recipient User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient User details."
+ },
+ "RecipientUsersContractProperties": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "API Management UserId subscribed to notification."
+ }
+ },
+ "description": "Recipient User Contract Properties."
+ },
+ "RegistrationDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for user registration."
+ }
+ },
+ "description": "User registration delegation settings properties."
+ },
+ "ReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "ReportRecordContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name depending on report endpoint specifies product, API, operation or developer name."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "interval": {
+ "type": "string",
+ "description": "Length of aggregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations)."
+ },
+ "country": {
+ "type": "string",
+ "description": "Country to which this record data is related."
+ },
+ "region": {
+ "type": "string",
+ "description": "Country region to which this record data is related."
+ },
+ "zip": {
+ "type": "string",
+ "description": "Zip code to which this record data is related."
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "API region identifier."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "callCountSuccess": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of successful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect"
+ },
+ "callCountBlocked": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorized and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests"
+ },
+ "callCountFailed": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600"
+ },
+ "callCountOther": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of other calls."
+ },
+ "callCountTotal": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of calls."
+ },
+ "bandwidth": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bandwidth consumed."
+ },
+ "cacheHitCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times when content was served from cache policy."
+ },
+ "cacheMissCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times content was fetched from backend."
+ },
+ "apiTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request."
+ },
+ "apiTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request."
+ },
+ "apiTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request."
+ },
+ "serviceTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request on backend."
+ },
+ "serviceTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request on backend."
+ },
+ "serviceTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request on backend."
+ }
+ },
+ "description": "Report data."
+ },
+ "RepresentationContract": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Specifies a registered or custom content type for this representation, e.g. application/xml."
+ },
+ "sample": {
+ "type": "string",
+ "description": "An example of the representation."
+ },
+ "schemaId": {
+ "type": "string",
+ "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "typeName": {
+ "type": "string",
+ "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "formParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "Operation request/response representation details."
+ },
+ "RequestContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Operation request description."
+ },
+ "queryParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request query parameters."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request headers."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation request representations."
+ }
+ },
+ "description": "Operation request details."
+ },
+ "RequestReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequestReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "RequestReportRecordContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "method": {
+ "type": "string",
+ "description": "The HTTP method associated with this request.."
+ },
+ "url": {
+ "type": "string",
+ "description": "The full URL associated with this request."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The client IP address associated with this request."
+ },
+ "backendResponseCode": {
+ "type": "string",
+ "description": "The HTTP status code received by the gateway as a result of forwarding this request to the backend."
+ },
+ "responseCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The HTTP status code returned by the gateway."
+ },
+ "responseSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of the response returned by the gateway."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this request was received by the gateway in ISO 8601 format."
+ },
+ "cache": {
+ "type": "string",
+ "description": "Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response was returned. If the value is miss, the cache was used but lookup resulted in a miss and request was fulfilled by the backend."
+ },
+ "apiTime": {
+ "type": "number",
+ "format": "double",
+ "description": "The total time it took to process this request."
+ },
+ "serviceTime": {
+ "type": "number",
+ "format": "double",
+ "description": "he time it took to forward this request to the backend and get the response back."
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "Azure region where the gateway that processed this request is located."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Request Identifier."
+ },
+ "requestSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of this request.."
+ }
+ },
+ "description": "Request Report data."
+ },
+ "ResponseContract": {
+ "properties": {
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Operation response HTTP status code."
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation response description."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation response representations."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation response headers."
+ }
+ },
+ "required": [
+ "statusCode"
+ ],
+ "description": "Operation response details."
+ },
+ "SamplingSettings": {
+ "properties": {
+ "samplingType": {
+ "type": "string",
+ "description": "Sampling type.",
+ "enum": [
+ "fixed"
+ ],
+ "x-ms-enum": {
+ "name": "SamplingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "fixed",
+ "description": "Fixed-rate sampling."
+ }
+ ]
+ }
+ },
+ "percentage": {
+ "type": "number",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Rate of sampling for fixed-rate sampling."
+ }
+ },
+ "description": "Sampling settings for Diagnostic."
+ },
+ "SaveConfigurationParameter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SaveConfigurationParameterProperties",
+ "description": "Properties of the Save Configuration Parameters."
+ }
+ },
+ "description": "Save Tenant Configuration Contract details."
+ },
+ "SaveConfigurationParameterProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch in which to commit the current configuration snapshot."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Save Tenant Configuration operation."
+ },
+ "SchemaCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "description": "Api Schema Contract value.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "The response of the list schema operation."
+ },
+ "SchemaContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaContractProperties",
+ "description": "Properties of the Schema."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Schema Contract details."
+ },
+ "SchemaContractProperties": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml). - `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json` - `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml` - `OpenApi` Schema use `application/vnd.oai.openapi.components+json` - `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`."
+ },
+ "document": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaDocumentProperties",
+ "description": "Create or update Properties of the Schema Document."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "API Schema create or update contract Properties."
+ },
+ "SchemaDocumentProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI."
+ },
+ "definitions": {
+ "type": "object",
+ "description": "Types definitions. Used for Swagger/OpenAPI schemas only, null otherwise."
+ }
+ },
+ "description": "Schema Document Properties."
+ },
+ "SubscriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Subscriptions list representation."
+ },
+ "SubscriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionContractProperties",
+ "description": "Subscription contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionContractProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the subscription, or null if the subscription has no name.",
+ "minLength": 0,
+ "maxLength": 100
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n",
+ "readOnly": true
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "notificationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "primaryKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Optional subscription comment added by an administrator."
+ },
+ "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."
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing can be enabled"
+ }
+ },
+ "description": "Parameters supplied to the Update subscription operation."
+ },
+ "SubscriptionUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionUpdateParameterProperties",
+ "description": "Subscription Update contract properties."
+ }
+ },
+ "description": "Subscription update details."
+ },
+ "TagCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Tag entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Tag Contract details."
+ },
+ "TagContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Tag contract Properties."
+ },
+ "TagCreateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Properties supplied to Create Tag operation."
+ }
+ },
+ "description": "Parameters supplied to Create/Update Tag operations."
+ },
+ "TagDescriptionBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the Tag."
+ },
+ "externalDocsUrl": {
+ "type": "string",
+ "description": "Absolute URL of external resources describing the tag.",
+ "maxLength": 2000
+ },
+ "externalDocsDescription": {
+ "type": "string",
+ "description": "Description of the external resources describing the tag."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged TagDescription list representation."
+ },
+ "TagDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionContractProperties",
+ "description": "TagDescription entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "TagDescriptionContractProperties": {
+ "properties": {
+ "tagId": {
+ "type": "string",
+ "description": "Identifier of the tag in the form of /tags/{tagId}"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TagDescriptionBaseProperties"
+ }
+ ],
+ "description": "TagDescription contract Properties."
+ },
+ "TagDescriptionCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionBaseProperties",
+ "description": "Properties supplied to Create TagDescription operation."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagResourceCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagResourceContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagResourceContract": {
+ "properties": {
+ "tag": {
+ "$ref": "#/definitions/TagTagResourceContractProperties",
+ "description": "Tag associated with the resource."
+ },
+ "api": {
+ "$ref": "#/definitions/ApiTagResourceContractProperties",
+ "description": "Api associated with the tag."
+ },
+ "operation": {
+ "$ref": "#/definitions/OperationTagResourceContractProperties",
+ "description": "Operation associated with the tag."
+ },
+ "product": {
+ "$ref": "#/definitions/ProductTagResourceContractProperties",
+ "description": "Product associated with the tag."
+ }
+ },
+ "required": [
+ "tag"
+ ],
+ "description": "TagResource contract properties."
+ },
+ "TagTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Tag identifier"
+ },
+ "name": {
+ "type": "string",
+ "description": "Tag Name",
+ "minLength": 1,
+ "maxLength": 160
+ }
+ },
+ "description": "Contract defining the Tag property in the Tag Resource Contract"
+ },
+ "TenantConfigurationSyncStateContract": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of Git branch."
+ },
+ "commitId": {
+ "type": "string",
+ "description": "The latest commit Id."
+ },
+ "isExport": {
+ "type": "boolean",
+ "description": "value indicating if last sync was save (true) or deploy (false) operation."
+ },
+ "isSynced": {
+ "type": "boolean",
+ "description": "value indicating if last synchronization was later than the configuration change."
+ },
+ "isGitEnabled": {
+ "type": "boolean",
+ "description": "value indicating whether Git configuration access is enabled."
+ },
+ "syncDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "configurationChangeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "description": "Tenant Configuration Synchronization State."
+ },
+ "TermsOfServiceProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "A terms of service text."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Display terms of service during a sign-up process."
+ },
+ "consentRequired": {
+ "type": "boolean",
+ "description": "Ask user for consent to the terms of service."
+ }
+ },
+ "description": "Terms of service contract properties."
+ },
+ "TokenBodyParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "body parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "body parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "OAuth acquire token request body parameter (www-url-form-encoded)."
+ },
+ "UserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Users list representation."
+ },
+ "UserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserContractProperties",
+ "description": "User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "User details."
+ },
+ "UserContractProperties": {
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "First name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name."
+ },
+ "email": {
+ "type": "string",
+ "description": "Email address."
+ },
+ "registrationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "groups": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./definitions.json#/definitions/GroupContractProperties"
+ },
+ "description": "Collection of groups user is part of."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "User profile."
+ },
+ "UserCreateParameterProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password. If no value is provided, a default password is generated."
+ },
+ "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."
+ },
+ "PropertyValueContract": {
+ "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."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json
new file mode 100644
index 000000000000..34a67eef95e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementApplyNetworkConfigurationUpdates.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "west us"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2019-12-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "UID": "52ed5986-717b-45b4-b17c-3df8db372cff"
+ },
+ "location": "East Asia",
+ "etag": "AAAAAAAXX6Y=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2015-09-22T01:50:34.7921566Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "207.46.155.24"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/eastUsVirtualNetwork/subnets/apimSubnet"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementBackendReconnect.json
new file mode 100644
index 000000000000..8c444e763d0d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementBackendReconnect.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "parameters": {
+ "properties": {
+ "after": "PT3S"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateAILogger.json
new file mode 100644
index 000000000000..8c62492fcfa7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateAILogger.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "parameters": {
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "adding a new logger",
+ "credentials": {
+ "instrumentationKey": "11................a1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/microsoft.insights/components/airesource"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApi.json
new file mode 100644
index 000000000000..82912cd840be
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApi.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "description": "apidescription5200",
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "displayName": "apiname1463",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "https",
+ "http"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiClone.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiClone.json
new file mode 100644
index 000000000000..6d1a8eb8cc9e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiClone.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api2",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API2",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "isCurrent": true,
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapi2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapi2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiDiagnostic.json
new file mode 100644
index 000000000000..cc4557e6b563
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiDiagnostic.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssue.json
new file mode 100644
index 000000000000..acfab14de146
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssue.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
new file mode 100644
index 000000000000..f5ce31e15844
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "attachmentId": "57d2ef278aa04f0888cba3f3",
+ "parameters": {
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "image/jpeg",
+ "content": "IEJhc2U2NA=="
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssueComment.json
new file mode 100644
index 000000000000..4916dc805c02
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiIssueComment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "commentId": "599e29ab193c3c0bd0b3e2fb",
+ "parameters": {
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
new file mode 100644
index 000000000000..4f10d35bfa90
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echoapiv3",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API2",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapiv3",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "apiVersionSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "name": "Echo API2",
+ "versioningScheme": "Segment"
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapiv3",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "apiVersionSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "name": "Echo API2",
+ "versioningScheme": "Segment"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperation.json
new file mode 100644
index 000000000000..fb51a6ce53b6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperation.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "PetStoreTemplate2",
+ "operationId": "newoperations",
+ "parameters": {
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "newoperations",
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "newoperations",
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperationPolicy.json
new file mode 100644
index 000000000000..bf28325dfa5d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperationPolicy.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "operationId": "5600b57e7e8880006a080001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": ""
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperationTag.json
new file mode 100644
index 000000000000..461f65b700d9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiOperationTag.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "operationId": "5931a75ae4bbd512a88c680a",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiPolicy.json
new file mode 100644
index 000000000000..eadf07fb348e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiPolicy.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": ""
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json
new file mode 100644
index 000000000000..e3d6e8b71dd0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n ",
+ "format": "rawxml"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiRelease.json
new file mode 100644
index 000000000000..225a02a7f285
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiRelease.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json
new file mode 100644
index 000000000000..e206b6c5f73c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiRevisionFromExistingApi.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "echo-api;rev=3",
+ "parameters": {
+ "properties": {
+ "path": "echo",
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "3",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "3",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiSchema.json
new file mode 100644
index 000000000000..2a1a82daec83
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiSchema.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "parameters": {
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiTag.json
new file mode 100644
index 000000000000..f9d73ab20656
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiTagDescription.json
new file mode 100644
index 000000000000..c762aada1b9d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiTagDescription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagDescriptionId": "tagId1",
+ "parameters": {
+ "properties": {
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsUrl": "http://some.url/additionaldoc",
+ "externalDocsDescription": "Description of the external docs resource"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "tagId1",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "displayName": "tag1",
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "tagId1",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "displayName": "tag1",
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
new file mode 100644
index 000000000000..1fc35e02f106
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "apidocs",
+ "parameters": {
+ "properties": {
+ "format": "swagger-link",
+ "value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
+ "path": "petstoreapi123",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apidocs",
+ "properties": {
+ "displayName": "Swagger Sample App",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "petstoreapi123",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apidocs",
+ "properties": {
+ "displayName": "Swagger Sample App",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "petstoreapi123",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json
new file mode 100644
index 000000000000..35a560f52055
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "openapi-link",
+ "value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
new file mode 100644
index 000000000000..3a228e329e0f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "swagger-link-json",
+ "value": "http://petstore.swagger.io/v2/swagger.json",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "http"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "http"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
new file mode 100644
index 000000000000..0cfd8911a78d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "wadl-link-json",
+ "value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
+ "path": "collector"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "collectorwadl",
+ "properties": {
+ "displayName": "http://localhost:8080/collector-northbound",
+ "apiRevision": "1",
+ "description": "",
+ "serviceUrl": "http://localhost:8080/collector-northbound",
+ "path": "collector",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "collectorwadl",
+ "properties": {
+ "displayName": "http://localhost:8080/collector-northbound",
+ "apiRevision": "1",
+ "description": "",
+ "serviceUrl": "http://localhost:8080/collector-northbound",
+ "path": "collector",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiVersionSet.json
new file mode 100644
index 000000000000..266a39aabeee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiVersionSet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "versionSetId": "api1",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
new file mode 100644
index 000000000000..5116d3c6ef6a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "58da4c4ccdae970a08121230",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "58da4c4ccdae970a08121230",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateAuthorizationServer.json
new file mode 100644
index 000000000000..1b77b3fbc21a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateAuthorizationServer.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer",
+ "parameters": {
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
new file mode 100644
index 000000000000..ab590416f16f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "tls": {
+ "validateCertificateChain": true,
+ "validateCertificateName": true
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": "opensesame"
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
new file mode 100644
index 000000000000..bea1ad78adc1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend",
+ "parameters": {
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "protocol": "http",
+ "url": "fabric:/mytestapp/mytestservice",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackup.json
new file mode 100644
index 000000000000..f24dcfc0719c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateBackup.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "teststorageaccount",
+ "accessKey": "**************************************************",
+ "containerName": "backupContainer",
+ "backupName": "apimService1backup_2017_03_19"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2019-12-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "UID": "52ed5986-717b-45b4-b17c-3df8db372cff"
+ },
+ "location": "East Asia",
+ "etag": "AAAAAAAXX6Y=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2015-09-22T01:50:34.7921566Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "207.46.155.24"
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateCache.json
new file mode 100644
index 000000000000..764f0c5d8da7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateCache.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "westindia",
+ "parameters": {
+ "properties": {
+ "connectionString": "contoso5.redis.cache.windows.net,ssl=true,password=...",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/westindia",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "westindia",
+ "properties": {
+ "connectionString": "{{5c68d535a40f7e61103cd285}}}",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/westindia",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "westindia",
+ "properties": {
+ "connectionString": "{{5c68d535a40f7e61103cd285}}}",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateCertificate.json
new file mode 100644
index 000000000000..f820f9895a29
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateCertificate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "certificateId": "tempcert",
+ "parameters": {
+ "properties": {
+ "data": "****************Base 64 Encoded Certificate *******************************",
+ "password": "****Certificate Password******"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "tempcert",
+ "properties": {
+ "subject": "CN=contoso.com",
+ "thumbprint": "*******************3",
+ "expirationDate": "2018-03-17T21:55:07+00:00"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "tempcert",
+ "properties": {
+ "subject": "CN=contoso.com",
+ "thumbprint": "*******************3",
+ "expirationDate": "2018-03-17T21:55:07+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateDiagnostic.json
new file mode 100644
index 000000000000..02ff2a5fcde9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateDiagnostic.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateEHLogger.json
new file mode 100644
index 000000000000..e32cd83071a6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateEHLogger.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "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/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "name": "hydraeventhub",
+ "connectionString": "{{59544ef2e4bbd50d9468c617}}"
+ },
+ "isBuffered": true,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/hydraeventhub-ns"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "name": "hydraeventhub",
+ "connectionString": "{{59544ef2e4bbd50d9468c617}}"
+ },
+ "isBuffered": true,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/hydraeventhub-ns"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateEmailTemplate.json
new file mode 100644
index 000000000000..d77883de0095
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementCreateEmailTemplate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "parameters": {
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received."
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received.",
+ "body": "\r\n\r\n \r\n \r\n
Dear $DevFirstName $DevLastName,
\r\n
Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n
\r\n Click this link to view or edit your request.\r\n
\r\n
Best,
\r\n
The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received.",
+ "body": "\r\n\r\n \r\n \r\n
Dear $DevFirstName $DevLastName,
\r\n
Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n
\r\n Click this link to view or edit your request.\r\n
\r\n 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 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": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateGroup.json
new file mode 100644
index 000000000000..09117bd160ab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateIdentityProvider.json
new file mode 100644
index 000000000000..e20623e86f9c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateIdentityProvider.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "identityProviderName": "facebook",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "updatedfacebookid",
+ "clientSecret": "updatedfacebooksecret"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateLogger.json
new file mode 100644
index 000000000000..e6f1cf6a5e54
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateLogger.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "credentials": {
+ "name": "hydraeventhub",
+ "connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********="
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateNamedValue.json
new file mode 100644
index 000000000000..c6ae610b7698
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateNamedValue.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2019-12-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=204"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json
new file mode 100644
index 000000000000..9deda1decf83
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientSecret": "updatedsecret"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateProduct.json
new file mode 100644
index 000000000000..e63b8edbbd5d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateProduct.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json
new file mode 100644
index 000000000000..7764e10571dd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "parameters": {
+ "callsCount": 0,
+ "kbTransferred": 2.5630078125
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
new file mode 100644
index 000000000000..af0a9fcff821
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
+ "parameters": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json
new file mode 100644
index 000000000000..bb40397851e6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json
new file mode 100644
index 000000000000..0561db33629e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateSubscription.json
new file mode 100644
index 000000000000..611184189ba5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateSubscription.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateTag.json
new file mode 100644
index 000000000000..bbd249124cf0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "tagId": "temptag",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp tag"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateTenantAccess.json
new file mode 100644
index 000000000000..e0c5b60be01d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateTenantAccess.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "If-Match": "*",
+ "accessName": "access",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateUser.json
new file mode 100644
index 000000000000..e1f92eda0366
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUpdateUser.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
new file mode 100644
index 000000000000..dc4ea32b5b41
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
new file mode 100644
index 000000000000..3ba39034ce33
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://apimService1.portal.azure-api.net/signin-sso?token=57127d485157a511ace86ae7%26201706051624%267VY18MlwAom***********2bYr2bDQHg21OzQsNakExQ%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserToken.json
new file mode 100644
index 000000000000..56e955bdea89
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/examples/ApiManagementUserToken.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01-preview",
+ "subscriptionId": "subid",
+ "userId": "userId1718",
+ "parameters": {
+ "properties": {
+ "keyType": "primary",
+ "expiry": "2019-04-21T00:44:24.2845269Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "userId1718&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
index 921c722c09d6..c0f21de3eeb0 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
@@ -4381,7 +4381,8 @@
"swagger-link",
"wadl-link",
"wsdl-link",
- "openapi-link"
+ "openapi-link",
+ "openapi+json-link"
],
"x-ms-enum": {
"name": "ExportFormat",
@@ -4406,6 +4407,11 @@
"value": "openapi-link",
"description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
"name": "Openapi"
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 as JSON document to Storage Blob.",
+ "name": "OpenapiJson"
}
]
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
index 010d8afc44b0..151f0d9ae4bf 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
@@ -1021,6 +1021,11 @@
"description": "Management API endpoint URL of the API Management service.",
"readOnly": true
},
+ "developerPortalUrl": {
+ "type": "string",
+ "description": "Developer Portal endpoint URL of the API Management service.",
+ "readOnly": true
+ },
"scmUrl": {
"type": "string",
"description": "SCM endpoint URL of the API Management service.",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
index 013e94209e92..950a85aa7595 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
@@ -190,7 +190,8 @@
"wsdl-link",
"openapi",
"openapi+json",
- "openapi-link"
+ "openapi-link",
+ "openapi+json-link"
],
"x-ms-enum": {
"name": "ContentFormat",
@@ -231,6 +232,10 @@
{
"value": "openapi-link",
"description": "The Open Api 3.0 document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "The Open Api 3.0 Json document is hosted on a publicly accessible internet address."
}
]
}
@@ -1782,6 +1787,60 @@
"enableHttpCorrelationHeaders": {
"type": "boolean",
"description": "Whether to process Correlation Headers coming to Api Management Service. Only applicable to Application Insights diagnostics. Default is true."
+ },
+ "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."
}
},
"required": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateService.json
index 8e81610b48d8..9dcd0eef7cb4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateService.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateService.json
@@ -27,7 +27,7 @@
"location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2019-01-01"
},
"body": {
- "id": "/subscriptions/subid/resourceGroups/sdktestrg9348/providers/Microsoft.ApiManagement/service/apimService1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
@@ -62,7 +62,7 @@
},
"200": {
"body": {
- "id": "/subscriptions/subid/resourceGroups/sdktestrg9348/providers/Microsoft.ApiManagement/service/apimService1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
@@ -82,6 +82,7 @@
"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": [
@@ -115,7 +116,7 @@
},
"202": {
"headers": {
- "location": "https://management.azure.com/subscriptions/subid/resourceGroups/sdktestrg9348/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2019-01-01"
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2019-01-01"
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateServiceWithSystemCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
index f9470a62d7f3..90b53a323ac4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
@@ -92,6 +92,7 @@
"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": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementListServiceBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementListServiceBySubscription.json
index 691d11538394..278e43af6f7b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementListServiceBySubscription.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementListServiceBySubscription.json
@@ -23,6 +23,7 @@
"createdAtUtc": "2017-05-27T15:33:55.5426123Z",
"gatewayUrl": "https://apimService3.azure-api.net",
"portalUrl": "https://apimService3.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService3.management.azure-api.net",
"scmUrl": "https://apimService3.scm.azure-api.net",
"hostnameConfigurations": [],
@@ -64,6 +65,7 @@
"createdAtUtc": "2017-05-26T23:55:31.1405115Z",
"gatewayUrl": "https://apimService2.azure-api.net",
"portalUrl": "https://apimService2.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService2.management.azure-api.net",
"scmUrl": "https://apimService2.scm.azure-api.net",
"hostnameConfigurations": [],
@@ -93,6 +95,7 @@
"createdAtUtc": "2017-05-26T18:13:02.0196315Z",
"gatewayUrl": "https://apimService5.azure-api.net",
"portalUrl": "https://apimService5.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService5.management.azure-api.net",
"scmUrl": "https://apimService5.scm.azure-api.net",
"hostnameConfigurations": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementRestoreService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementRestoreService.json
index ea769d7ffb93..698f943e988b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementRestoreService.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementRestoreService.json
@@ -35,6 +35,7 @@
"createdAtUtc": "2015-09-22T01:50:34.7921566Z",
"gatewayUrl": "https://apimService1.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": [],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceDeleteService.json
index 5c5ef318f903..35471b9cc4cf 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceDeleteService.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceDeleteService.json
@@ -18,7 +18,7 @@
"location": "West US",
"etag": "AAAAAAFfhHY=",
"properties": {
- "publisherEmail": "sasolank@microsoft.com",
+ "publisherEmail": "contoso@live.com",
"publisherName": "Microsoft",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
@@ -27,6 +27,7 @@
"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": [],
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
index 03f450550fac..6ff358b3c1c6 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
@@ -24,6 +24,7 @@
"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": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetService.json
index 782f3982977e..913e296f64ef 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetService.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetService.json
@@ -12,76 +12,66 @@
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {},
- "location": "Central US",
- "etag": "AAAAAAAYP5M=",
+ "location": "West Europe",
+ "etag": "AAAAAAAENfI=",
"properties": {
"publisherEmail": "contoso@microsoft.com",
- "publisherName": "admin",
- "notificationSenderEmail": "contoso@live.com",
+ "publisherName": "Microsoft",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
- "createdAtUtc": "2017-06-28T23:01:33.0667959Z",
+ "createdAtUtc": "2016-04-12T00:20:15.6018952Z",
"gatewayUrl": "https://apimService1.azure-api.net",
- "gatewayRegionalUrl": "https://apimService1-centralus-01.regional.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": "proxyhostname4.contoso.net",
- "negotiateClientCertificate": false,
- "defaultSslBinding": true,
- "certificate": {
- "expiry": "2018-03-17T21:55:07+00:00",
- "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3",
- "subject": "CN=*.contoso.net"
- }
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false
},
{
"type": "Proxy",
- "hostName": "proxyhostname9.contoso.net",
- "negotiateClientCertificate": false,
- "defaultSslBinding": true,
- "certificate": {
- "expiry": "2018-03-17T21:55:07+00:00",
- "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3",
- "subject": "CN=*.contoso.net"
- }
- },
- {
- "type": "Portal",
- "hostName": "portalhostname2.contoso.net",
+ "hostName": "proxy.contoso.net",
+ "keyVaultId": "https://contoso.vault.azure.net/secrets/msicertificate",
"negotiateClientCertificate": false,
- "defaultSslBinding": false,
"certificate": {
- "expiry": "2018-03-17T21:55:07+00:00",
- "thumbprint": "918D7785B926AC5AEE66322778A147BCE7237CF3",
+ "expiry": "2020-12-18T11:11:47+00:00",
+ "thumbprint": "9833D5CXXXXXXXXF2A85908BD3692E0BD3F",
"subject": "CN=*.contoso.net"
- }
+ },
+ "defaultSslBinding": true
}
],
"publicIPAddresses": [
- "52.173.22.222"
+ "13.94.XXX.188"
],
- "additionalLocations": [
- {
- "location": "West US",
- "sku": {
- "name": "Premium",
- "capacity": 1
- },
- "publicIPAddresses": [
- "40.78.99.244"
- ],
- "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net"
- }
- ],
- "virtualNetworkType": "None"
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/APIMVNet/subnets/apim-internal-sub"
+ },
+ "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": "Premium",
"capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "ca1d33f7-3cf9-42ec-b3e9-d526a1ee953a",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetServiceHavingMsi.json
index fa494a5a91af..43d130aabb46 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetServiceHavingMsi.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementServiceGetServiceHavingMsi.json
@@ -23,6 +23,7 @@
"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": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementUpdateServiceDisableTls10.json
index 5563fa1f6e7d..f6ddf1ecd696 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementUpdateServiceDisableTls10.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/examples/ApiManagementUpdateServiceDisableTls10.json
@@ -31,6 +31,7 @@
"createdAtUtc": "2017-06-29T17:50:42.3191122Z",
"gatewayUrl": "https://apimService1.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": [],
@@ -71,6 +72,7 @@
"createdAtUtc": "2017-06-29T17:50:42.3191122Z",
"gatewayUrl": "https://apimService1.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": [],
diff --git a/specification/apimanagement/resource-manager/readme.go.md b/specification/apimanagement/resource-manager/readme.go.md
index c385a5132a60..0c9af5512386 100644
--- a/specification/apimanagement/resource-manager/readme.go.md
+++ b/specification/apimanagement/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2019-12
- tag: package-2019-01
- tag: package-2018-06-preview
- tag: package-2018-01
@@ -21,6 +22,15 @@ batch:
- tag: package-2016-07
```
+### Tag: package-preview-2019-12 and go
+
+These settings apply only when `--tag=package-preview-2019-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2019-12' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-12-01-preview/$(namespace)
+```
+
### Tag: package-2019-01 and go
These settings apply only when `--tag=package-2019-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 9b993c661a68..294a5554411c 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -28,10 +28,50 @@ These are the global settings for the ApiManagement API.
title: ApiManagementClient
description: ApiManagement Client
openapi-type: arm
-tag: package-2019-01
+tag: package-preview-2019-12
```
+### Tag: package-preview-2019-12
+
+These settings apply only when `--tag=package-preview-2019-12` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2019-12'
+input-file:
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
+```
### Tag: package-2019-01
These settings apply only when `--tag=package-2019-01` is specified on the command line.
@@ -72,6 +112,7 @@ input-file:
- Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
- Microsoft.ApiManagement/stable/2019-01-01/definitions.json
```
+
### Tag: package-2018-06-preview
These settings apply only when `--tag=package-2018-06-preview` is specified on the command line.
@@ -288,7 +329,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -300,6 +341,39 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
+ - $(this-folder)/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json
@@ -439,11 +513,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/appconfiguration.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/appconfiguration.json
new file mode 100644
index 000000000000..e81498f64d44
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/appconfiguration.json
@@ -0,0 +1,1347 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0",
+ "title": "Azure App Configuration"
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/keys": {
+ "get": {
+ "tags": [
+ "Keys"
+ ],
+ "summary": "Gets a list of keys.",
+ "operationId": "GetKeys",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.keyset+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "A filter for the name of the returned keys.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyListResult"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetKeys": {
+ "$ref": "./examples/GetKeys.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "items",
+ "nextLinkName": "@nextLink"
+ }
+ },
+ "head": {
+ "tags": [
+ "Keys"
+ ],
+ "summary": "Requests the headers and status of the given resource.",
+ "operationId": "CheckKeys",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "A filter for the name of the returned keys.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed"
+ }
+ },
+ "x-ms-examples": {
+ "CheckKeys": {
+ "$ref": "./examples/CheckKeys.json"
+ }
+ }
+ }
+ },
+ "/kv": {
+ "get": {
+ "tags": [
+ "KeyValues"
+ ],
+ "summary": "Gets a list of key-values.",
+ "operationId": "GetKeyValues",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kvset+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "query",
+ "description": "A filter used to match keys.",
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "A filter used to match labels",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "key",
+ "label",
+ "content_type",
+ "value",
+ "last_modified",
+ "tags",
+ "locked",
+ "etag"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValueListResult"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetKeyValues": {
+ "$ref": "./examples/GetKeyValues.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "items",
+ "nextLinkName": "@nextLink"
+ }
+ },
+ "head": {
+ "tags": [
+ "KeyValues"
+ ],
+ "summary": "Requests the headers and status of the given resource.",
+ "operationId": "CheckKeyValues",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "query",
+ "description": "A filter used to match keys.",
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "A filter used to match labels",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "key",
+ "label",
+ "content_type",
+ "value",
+ "last_modified",
+ "tags",
+ "locked",
+ "etag"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed"
+ }
+ },
+ "x-ms-examples": {
+ "CheckKeyValues": {
+ "$ref": "./examples/CheckKeyValues.json"
+ }
+ }
+ }
+ },
+ "/kv/{key}": {
+ "get": {
+ "tags": [
+ "KeyValues"
+ ],
+ "summary": "Gets a single key-value.",
+ "operationId": "GetKeyValue",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kv+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "The key of the key-value to retrieve.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "The label of the key-value to retrieve.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "key",
+ "label",
+ "content_type",
+ "value",
+ "last_modified",
+ "tags",
+ "locked",
+ "etag"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ },
+ "ETag": {
+ "description": "An identifier representing the returned state of the resource.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "A UTC datetime that specifies the last time the resource was modified.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetKeyValue": {
+ "$ref": "./examples/GetKeyValue.json"
+ },
+ "GetKeyValue_IfMatch": {
+ "$ref": "./examples/GetKeyValue_IfMatch.json"
+ },
+ "GetKeyValue_IfNoneMatch": {
+ "$ref": "./examples/GetKeyValue_IfNoneMatch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "KeyValues"
+ ],
+ "summary": "Creates a key-value.",
+ "operationId": "PutKeyValue",
+ "consumes": [
+ "application/vnd.microsoft.appconfig.kv+json",
+ "application/vnd.microsoft.appconfig.kvset+json",
+ "application/json",
+ "text/json",
+ "application/*+json",
+ "application/json-patch+json"
+ ],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kv+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "The key of the key-value to create.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "The label of the key-value to create.",
+ "type": "string"
+ },
+ {
+ "name": "entity",
+ "in": "body",
+ "description": "The key-value to create.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ },
+ "ETag": {
+ "description": "An identifier representing the returned state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutKeyValue": {
+ "$ref": "./examples/PutKeyValue.json"
+ },
+ "PutKeyValue_IfMatch": {
+ "$ref": "./examples/PutKeyValue_IfMatch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "KeyValues"
+ ],
+ "summary": "Deletes a key-value.",
+ "operationId": "DeleteKeyValue",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kv+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "The key of the key-value to delete.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "The label of the key-value to delete.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ },
+ "ETag": {
+ "description": "An identifier representing the returned state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Success",
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteKeyValue": {
+ "$ref": "./examples/DeleteKeyValue.json"
+ },
+ "DeleteKeyValue_IfMatch": {
+ "$ref": "./examples/DeleteKeyValue_IfMatch.json"
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "KeyValues"
+ ],
+ "summary": "Requests the headers and status of the given resource.",
+ "operationId": "CheckKeyValue",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "The key of the key-value to retrieve.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "The label of the key-value to retrieve.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "key",
+ "label",
+ "content_type",
+ "value",
+ "last_modified",
+ "tags",
+ "locked",
+ "etag"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ },
+ "ETag": {
+ "description": "An identifier representing the returned state of the resource.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "A UTC datetime that specifies the last time the resource was modified.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed"
+ }
+ },
+ "x-ms-examples": {
+ "CheckKeyValue": {
+ "$ref": "./examples/CheckKeyValue.json"
+ },
+ "CheckKeyValue_IfMatch": {
+ "$ref": "./examples/CheckKeyValue_IfMatch.json"
+ },
+ "CheckKeyValue_IfNoneMatch": {
+ "$ref": "./examples/CheckKeyValue_IfNoneMatch.json"
+ }
+ }
+ }
+ },
+ "/labels": {
+ "get": {
+ "tags": [
+ "Labels"
+ ],
+ "summary": "Gets a list of labels.",
+ "operationId": "GetLabels",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.labelset+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "A filter for the name of the returned labels.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "name"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LabelListResult"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetLabels": {
+ "$ref": "./examples/GetLabels.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "items",
+ "nextLinkName": "@nextLink"
+ }
+ },
+ "head": {
+ "tags": [
+ "Labels"
+ ],
+ "summary": "Requests the headers and status of the given resource.",
+ "operationId": "CheckLabels",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "A filter for the name of the returned labels.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "name"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed"
+ }
+ },
+ "x-ms-examples": {
+ "CheckLabels": {
+ "$ref": "./examples/CheckLabels.json"
+ }
+ }
+ }
+ },
+ "/locks/{key}": {
+ "put": {
+ "tags": [
+ "Locks"
+ ],
+ "summary": "Locks a key-value.",
+ "operationId": "PutLock",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kv+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "The key of the key-value to lock.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "The label, if any, of the key-value to lock.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ },
+ "ETag": {
+ "description": "An identifier representing the returned state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutLock": {
+ "$ref": "./examples/PutLock.json"
+ },
+ "PutLock_IfMatch": {
+ "$ref": "./examples/PutLock_IfMatch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Locks"
+ ],
+ "summary": "Unlocks a key-value.",
+ "operationId": "DeleteLock",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kv+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "description": "The key of the key-value to unlock.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "The label, if any, of the key-value to unlock.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.",
+ "type": "string"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ },
+ "ETag": {
+ "description": "An identifier representing the returned state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteLock": {
+ "$ref": "./examples/DeleteLock.json"
+ },
+ "DeleteLock_IfMatch": {
+ "$ref": "./examples/DeleteLock_IfMatch.json"
+ }
+ }
+ }
+ },
+ "/revisions": {
+ "get": {
+ "tags": [
+ "Revisions"
+ ],
+ "summary": "Gets a list of key-value revisions.",
+ "operationId": "GetRevisions",
+ "consumes": [],
+ "produces": [
+ "application/vnd.microsoft.appconfig.kvset+json",
+ "application/json",
+ "application/problem+json"
+ ],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "query",
+ "description": "A filter used to match keys.",
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "A filter used to match labels",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "key",
+ "label",
+ "content_type",
+ "value",
+ "last_modified",
+ "tags",
+ "locked",
+ "etag"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/KeyValueListResult"
+ },
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetRevisions": {
+ "$ref": "./examples/GetRevisions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "items",
+ "nextLinkName": "@nextLink"
+ }
+ },
+ "head": {
+ "tags": [
+ "Revisions"
+ ],
+ "summary": "Requests the headers and status of the given resource.",
+ "operationId": "CheckRevisions",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "key",
+ "in": "query",
+ "description": "A filter used to match keys.",
+ "type": "string"
+ },
+ {
+ "name": "label",
+ "in": "query",
+ "description": "A filter used to match labels",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SyncTokens"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "After",
+ "in": "query",
+ "description": "Instructs the server to return elements that appear after the element referred to by the specified token.",
+ "type": "string"
+ },
+ {
+ "name": "Accept-Datetime",
+ "in": "header",
+ "description": "Requests the server to respond with the state of the resource at the specified time.",
+ "type": "string"
+ },
+ {
+ "name": "$Select",
+ "in": "query",
+ "description": "Used to select what fields are present in the returned resource(s).",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "key",
+ "label",
+ "content_type",
+ "value",
+ "last_modified",
+ "tags",
+ "locked",
+ "etag"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "headers": {
+ "Sync-Token": {
+ "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed"
+ }
+ },
+ "x-ms-examples": {
+ "CheckRevisions": {
+ "$ref": "./examples/CheckRevisions.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Key": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "KeyValue": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "content_type": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "last_modified": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "locked": {
+ "type": "boolean"
+ },
+ "etag": {
+ "type": "string"
+ }
+ }
+ },
+ "Label": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Error": {
+ "description": "Azure App Configuration error object.",
+ "properties": {
+ "type": {
+ "description": "The type of the error.",
+ "type": "string"
+ },
+ "title": {
+ "description": "A brief summary of the error.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the parameter that resulted in the error.",
+ "type": "string"
+ },
+ "detail": {
+ "description": "A detailed description of the error.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The HTTP status code that the error maps to.",
+ "type": "integer"
+ }
+ },
+ "readOnly": true
+ },
+ "KeyListResult": {
+ "description": "The result of a list request.",
+ "type": "object",
+ "properties": {
+ "items": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Key"
+ }
+ },
+ "@nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValueListResult": {
+ "description": "The result of a list request.",
+ "type": "object",
+ "properties": {
+ "items": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "@nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "LabelListResult": {
+ "description": "The result of a list request.",
+ "type": "object",
+ "properties": {
+ "items": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Label"
+ }
+ },
+ "@nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SyncTokens": {
+ "name": "Sync-Token",
+ "in": "header",
+ "description": "Used to guarantee real-time consistency between requests.",
+ "type": "string"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to be used with the HTTP request.",
+ "required": true,
+ "type": "string"
+ },
+ "Endpoint": {
+ "name": "endpoint",
+ "in": "path",
+ "description": "The endpoint of the App Configuration instance to send requests to.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue.json
new file mode 100644
index 000000000000..e4091585c90f
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue_IfMatch.json
new file mode 100644
index 000000000000..5869285ca89a
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue_IfMatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\""
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue_IfNoneMatch.json
new file mode 100644
index 000000000000..e1f38be05186
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValue_IfNoneMatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-None-Match": "L10qpBghN693OaxydgTkLmrBbV5"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValues.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValues.json
new file mode 100644
index 000000000000..cc1f7b790220
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeyValues.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kvset+json"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeys.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeys.json
new file mode 100644
index 000000000000..9e9508f43eba
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckKeys.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.keyset+json"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckLabels.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckLabels.json
new file mode 100644
index 000000000000..3195f29dd2f0
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckLabels.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.labelset+json"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckRevisions.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckRevisions.json
new file mode 100644
index 000000000000..cc1f7b790220
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/CheckRevisions.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kvset+json"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteKeyValue.json
new file mode 100644
index 000000000000..d454edcce5d3
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteKeyValue.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteKeyValue_IfMatch.json
new file mode 100644
index 000000000000..826341d6130f
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteKeyValue_IfMatch.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\""
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV5",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteLock.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteLock.json
new file mode 100644
index 000000000000..0a293666e22e
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteLock.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"0BGYCoQ6iNdp5NtQ7N8shrobo6s\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "0BGYCoQ6iNdp5NtQ7N8shrobo6s",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteLock_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteLock_IfMatch.json
new file mode 100644
index 000000000000..61b904beae94
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/DeleteLock_IfMatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\""
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV5",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue.json
new file mode 100644
index 000000000000..216c6f2d47b5
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue_IfMatch.json
new file mode 100644
index 000000000000..61b904beae94
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue_IfMatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\""
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV5",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue_IfNoneMatch.json
new file mode 100644
index 000000000000..576887464fb4
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValue_IfNoneMatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-None-Match": "L10qpBghN693OaxydgTkLmrBbV5"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValues.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValues.json
new file mode 100644
index 000000000000..3d0cd3ab0c96
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeyValues.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kvset+json"
+ },
+ "body": {
+ "items": [
+ {
+ "etag": "CTgHR5UrDKNj2nsoGWDOipST9Pv",
+ "key": "Background",
+ "label": "Asset1",
+ "content_type": null,
+ "value": "blue",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-03-04T17:12:23+00:00"
+ },
+ {
+ "etag": "UTSN1zePHbBQ0npbRB6elGRRuH7",
+ "key": "MaxLogFiles",
+ "label": "Asset1",
+ "content_type": null,
+ "value": "50",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-03-04T17:12:23+00:00"
+ },
+ {
+ "etag": "7XpB48ET4VAlB9068ft6fKMyA3m",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-06-20T16:52:23+00:00"
+ },
+ {
+ "etag": "fAFm4jkGNB1hsIr4o0S5hnhCCvY",
+ "key": "WebDemo:Settings:BackgroundColor",
+ "label": null,
+ "content_type": null,
+ "value": "blue",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-06-20T15:48:01+00:00"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeys.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeys.json
new file mode 100644
index 000000000000..ce3031487d22
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetKeys.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.keyset+json"
+ },
+ "body": {
+ "items": [
+ {
+ "name": "MaxRequests"
+ },
+ {
+ "name": "RequestTimeout"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetLabels.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetLabels.json
new file mode 100644
index 000000000000..1e0a2445a70d
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetLabels.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.labelset+json"
+ },
+ "body": {
+ "items": [
+ {
+ "name": null
+ },
+ {
+ "name": "Asset1"
+ },
+ {
+ "name": "Asset1/devCi"
+ },
+ {
+ "name": "Asset1/devCi/branch1"
+ },
+ {
+ "name": "WestUs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetRevisions.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetRevisions.json
new file mode 100644
index 000000000000..f4ca1ccf46ae
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/GetRevisions.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kvset+json"
+ },
+ "body": {
+ "items": [
+ {
+ "etag": "0BGYCoQ6iNdp5NtQ7N8shrobo6s",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ },
+ {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV4",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "A new message.",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:20+00:00"
+ },
+ {
+ "etag": "tnIHBkDYQwtdNMLoWtr5aybkKwL",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:50:47+00:00"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutKeyValue.json
new file mode 100644
index 000000000000..83b231e011f3
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutKeyValue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"tnIHBkDYQwtdNMLoWtr5aybkKwL\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "tnIHBkDYQwtdNMLoWtr5aybkKwL",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutKeyValue_IfMatch.json
new file mode 100644
index 000000000000..61b904beae94
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutKeyValue_IfMatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\""
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV5",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": false,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutLock.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutLock.json
new file mode 100644
index 000000000000..20b2710f0a2d
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutLock.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV4\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV4",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": true,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutLock_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutLock_IfMatch.json
new file mode 100644
index 000000000000..2678730e0c6b
--- /dev/null
+++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/examples/PutLock_IfMatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "https://{exampleAppConfigurationName}.azconfig.io",
+ "api-version": "1.0",
+ "key": "Message",
+ "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\""
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.microsoft.appconfig.kv+json",
+ "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"",
+ "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT",
+ "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763"
+ },
+ "body": {
+ "etag": "L10qpBghN693OaxydgTkLmrBbV5",
+ "key": "Message",
+ "label": null,
+ "content_type": null,
+ "value": "Hello World!",
+ "tags": {},
+ "locked": true,
+ "last_modified": "2019-08-27T16:52:32+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/data-plane/readme.md b/specification/appconfiguration/data-plane/readme.md
new file mode 100644
index 000000000000..9af33b0fa2cf
--- /dev/null
+++ b/specification/appconfiguration/data-plane/readme.md
@@ -0,0 +1,108 @@
+# AppConfiguration
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for AppConfiguration.
+
+---
+
+## Getting Started
+
+To build the SDK for AppConfiguration, 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 AppConfiguration API.
+
+``` yaml
+# common
+openapi-type: data-plane
+tag: package-1-0
+```
+
+### Tag: package-2019-07
+
+These settings apply only when `--tag=package-1-0` is specified on the command line.
+
+``` yaml $(tag) == 'package-1-0'
+input-file:
+- Microsoft.AppConfiguration/stable/1.0/appconfiguration.json
+```
+
+---
+
+## 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
+```
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.AppConfiguration
+ sync-methods: None
+ output-folder: $(csharp-sdks-folder)/AppConfiguration/preview/Microsoft.Azure.AppConfiguration/src/Generated
+ clear-output-folder: true
+ add-credentials: true
+```
+## Suppression
+
+``` yaml
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: appconfiguration.json
+ where: $.definitions.KeyValue.properties.content_type
+ reason: Existing property names. The service uses snake casing for json properties.
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: appconfiguration.json
+ where: $.definitions.KeyValue.properties.last_modified
+ reason: Existing property names. The service uses snake casing for json properties.
+ - suppress: XmsParameterLocation
+ from: appconfiguration.json
+ where: $.parameters.SyncTokens
+ reason: The latest sync token should be used on every request. It is more proper to be globally stored per client rather than passed in for individual requests.
+```
+## 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.AppConfiguration/stable/1.0/appconfiguration.json
+
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
+
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
new file mode 100644
index 000000000000..875ac3226401
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
@@ -0,0 +1,1595 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "AppConfigurationManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given subscription.",
+ "operationId": "ConfigurationStores_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_List": {
+ "$ref": "./examples/ConfigurationStoresList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given resource group.",
+ "operationId": "ConfigurationStores_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListByResourceGroup": {
+ "$ref": "./examples/ConfigurationStoresListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Gets the properties of the specified configuration store.",
+ "operationId": "ConfigurationStores_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Get": {
+ "$ref": "./examples/ConfigurationStoresGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Creates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreCreationParameters",
+ "in": "body",
+ "description": "The parameters for creating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Create": {
+ "$ref": "./examples/ConfigurationStoresCreate.json"
+ },
+ "ConfigurationStores_Create_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Deletes a configuration store.",
+ "operationId": "ConfigurationStores_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Delete": {
+ "$ref": "./examples/ConfigurationStoresDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Updates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Update": {
+ "$ref": "./examples/ConfigurationStoresUpdate.json"
+ },
+ "ConfigurationStores_Update_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Checks whether the configuration store name is available for use.",
+ "operationId": "Operations_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "checkNameAvailabilityParameters",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_CheckNameAvailable": {
+ "$ref": "./examples/CheckNameAvailable.json"
+ },
+ "ConfigurationStores_CheckNameNotAvailable": {
+ "$ref": "./examples/CheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/ListKeys": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_ListKeys",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKeyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeys": {
+ "$ref": "./examples/ConfigurationStoresListKeys.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/RegenerateKey": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Regenerates an access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_RegenerateKey",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regenerateKeyParameters",
+ "in": "body",
+ "description": "The parameters for regenerating an access key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_RegenerateKey": {
+ "$ref": "./examples/ConfigurationStoresRegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AppConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the operations available from this provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeyValue": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists a configuration store key-value.",
+ "operationId": "ConfigurationStores_ListKeyValue",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "listKeyValueParameters",
+ "in": "body",
+ "description": "The parameters for retrieving a key-value.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListKeyValueParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeyValue": {
+ "$ref": "./examples/ConfigurationStoresListKeyValue.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByConfigurationStore",
+ "description": "Lists all private endpoint connections for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_List": {
+ "$ref": "./examples/ConfigurationStoresListPrivateEndpointConnections.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetConnection": {
+ "$ref": "./examples/ConfigurationStoresGetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "description": "Update the state of the specified private endpoint connection associated with the configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_CreateOrUpdate": {
+ "$ref": "./examples/ConfigurationStoresCreatePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Delete": {
+ "$ref": "./examples/ConfigurationStoresDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_ListByConfigurationStore",
+ "description": "Gets the private link resources that need to be created for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_ListGroupIds": {
+ "$ref": "./examples/PrivateLinkResourcesListByConfigurationStore.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_Get",
+ "description": "Gets a private link resource that need to be created for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource group.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_Get": {
+ "$ref": "./examples/PrivateLinkResourceGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfigurationStoreListResult": {
+ "description": "The result of a request to list configuration stores.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStore": {
+ "description": "The configuration store along with all resource properties. The Configuration Store will have all information to begin utilizing it.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information, if configured."
+ },
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStoreProperties",
+ "description": "The properties of a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku of the configuration store."
+ }
+ }
+ },
+ "ConfigurationStoreProperties": {
+ "description": "The properties of a configuration store.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the configuration store.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The DNS endpoint where the configuration store API will be available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperties",
+ "description": "The encryption settings of the configuration store."
+ }
+ }
+ },
+ "EncryptionProperties": {
+ "type": "object",
+ "description": "The encryption settings for a configuration store.",
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "description": "Settings concerning key vault encryption for a configuration store.",
+ "properties": {
+ "keyIdentifier": {
+ "description": "The URI of the key vault key used to encrypt data.",
+ "type": "string"
+ },
+ "identityClientId": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStoreUpdateParameters": {
+ "description": "The parameters for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStorePropertiesUpdateParameters",
+ "description": "The properties for updating a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information for the configuration store."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the configuration store."
+ },
+ "tags": {
+ "description": "The ARM resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConfigurationStorePropertiesUpdateParameters": {
+ "description": "The properties for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperties",
+ "description": "The encryption settings of the configuration store."
+ }
+ }
+ },
+ "CheckNameAvailabilityParameters": {
+ "description": "Parameters used for checking whether a resource name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name to check for availability.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type to check for name availability.",
+ "enum": [
+ "Microsoft.AppConfiguration/configurationStores"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConfigurationResourceType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NameAvailabilityStatus": {
+ "description": "The result of a request to check the availability of a resource name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value indicating whether the resource name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ApiKeyListResult": {
+ "description": "The result of a request to list API keys.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ApiKey": {
+ "description": "An API key used for authenticating with a configuration store endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The key ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "A name for the key describing its usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key that is used for authentication purposes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionString": {
+ "description": "A connection string that can be used by supporting clients for authentication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time any of the key's properties were modified.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readOnly": {
+ "description": "Whether this key can only be used for read operations.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "RegenerateKeyParameters": {
+ "description": "The parameters used to regenerate an API key.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the key to regenerate.",
+ "type": "string"
+ }
+ }
+ },
+ "ListKeyValueParameters": {
+ "description": "The parameters used to list a configuration store key-value",
+ "required": [
+ "key"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key to retrieve.",
+ "type": "string"
+ },
+ "label": {
+ "description": "The label of the key.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValue": {
+ "description": "The result of a request to retrieve a key-value from the specified configuration store.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "contentType": {
+ "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "An ETag indicating the state of a key-value within a configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time a modifying operation was performed on the given key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locked": {
+ "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "A dictionary of tags that can help identify what a key-value may be applicable for.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDefinitionListResult": {
+ "description": "The result of a request to list configuration store operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDefinitionDisplay",
+ "description": "The display information for the configuration store operation."
+ }
+ }
+ },
+ "OperationDefinitionDisplay": {
+ "description": "The display information for a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft App Configuration.\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "type": "object",
+ "description": "An identity that can be associated with a resource.",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentity"
+ }
+ },
+ "principalId": {
+ "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserIdentity": {
+ "type": "object",
+ "description": "A resource identity that is managed by the user of the service.",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client ID of the user-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The SKU name of the configuration store.",
+ "type": "string"
+ }
+ },
+ "description": "Describes a configuration store SKU."
+ },
+ "Error": {
+ "description": "AppConfiguration error object.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "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"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning status of the private endpoint connection.",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource Id for private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ },
+ "actionsRequired": {
+ "enum": [
+ "None",
+ "Recreate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "description": "A list of private link resources.",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "description": "A resource that supports private link capabilities.",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Private link resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ },
+ "description": "Properties of a private link resource."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigStoreNameParameter": {
+ "name": "configStoreName",
+ "in": "path",
+ "description": "The name of the configuration store.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9_-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/CheckNameAvailable.json
new file mode 100644
index 000000000000..21ecef2c2ac9
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/CheckNameAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2019-11-01-preview",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "The specified name is available.",
+ "reason": null
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/CheckNameNotAvailable.json
new file mode 100644
index 000000000000..a45865518bd4
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/CheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2019-11-01-preview",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The specified name is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreate.json
new file mode 100644
index 000000000000..00828632bdc6
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Free"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..3274f96ae0c7
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2019-11-01-preview",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreateWithIdentity.json
new file mode 100644
index 000000000000..2b33cac0dcf9
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresCreateWithIdentity.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Free"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresDelete.json
new file mode 100644
index 000000000000..6665f5125d56
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..c139f97fb1f5
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresGet.json
new file mode 100644
index 000000000000..7b235423347f
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..764891809936
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresList.json
new file mode 100644
index 000000000000..07b7476e3fb4
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresList.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "identity": {
+ "principalId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListByResourceGroup.json
new file mode 100644
index 000000000000..b661aacd4cee
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListByResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Free"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListKeyValue.json
new file mode 100644
index 000000000000..3fa301ed86f0
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListKeyValue.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "fayeh",
+ "api-version": "2019-11-01-preview",
+ "listKeyValueParameters": {
+ "key": "MaxRequests",
+ "label": "dev"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key": "MaxRequests",
+ "label": "dev",
+ "value": "100",
+ "contentType": "",
+ "eTag": "4f6dd610dd5e4deebc7fbaef685fb903",
+ "lastModified": "2017-12-05T02:41:26+00:00",
+ "locked": false,
+ "tags": {
+ "t1": "value1",
+ "t2": "value2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListKeys.json
new file mode 100644
index 000000000000..e0014260de92
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListKeys.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "CB45E100456857B9",
+ "name": "Secondary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "B3AC55B7E71431A9",
+ "name": "Primary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ },
+ {
+ "id": "E2AF6A9A89DCC177",
+ "name": "Secondary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..9332c923948e
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresRegenerateKey.json
new file mode 100644
index 000000000000..c5e9017522ee
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview",
+ "regenerateKeyParameters": {
+ "id": "439AD01B4BE67DB1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-26T22:59:24.2370906+00:00",
+ "readOnly": false
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresUpdate.json
new file mode 100644
index 000000000000..dd945689d19d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresUpdate.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json
new file mode 100644
index 000000000000..5ef16d741c7d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ }
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/PrivateLinkResourceGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/PrivateLinkResourceGet.json
new file mode 100644
index 000000000000..0f52593d85c9
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/PrivateLinkResourceGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview",
+ "groupName": "configurationStores"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores",
+ "name": "configurationStores",
+ "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources",
+ "properties": {
+ "groupId": "configurationStores",
+ "requiredMembers": [
+ "configurationStores"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json
new file mode 100644
index 000000000000..e652e2399b97
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2019-11-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores",
+ "name": "configurationStores",
+ "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources",
+ "properties": {
+ "groupId": "configurationStores",
+ "requiredMembers": [
+ "configurationStores"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md
index 41fb855cee50..2571d89226d2 100644
--- a/specification/appconfiguration/resource-manager/readme.go.md
+++ b/specification/appconfiguration/resource-manager/readme.go.md
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-11-01-preview
- tag: package-2019-10-01
- tag: package-2019-02-01-preview
```
+### Tag: package-2019-11-01-preview and go
+
+These settings apply only when `--tag=package-2019-11-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-11-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-11-01-preview/$(namespace)
+```
+
### Tag: package-2019-10-01 and go
These settings apply only when `--tag=package-2019-10-01 --go` is specified on the command line.
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index e777b26ca55e..de29d229eefa 100644
--- a/specification/appconfiguration/resource-manager/readme.md
+++ b/specification/appconfiguration/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the AppConfiguration API.
``` yaml
openapi-type: arm
-tag: package-2019-10-01
+tag: package-2019-11-01-preview
+```
+
+### Tag: package-2019-11-01-preview
+
+These settings apply only when `--tag=package-2019-11-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-01-preview'
+input-file:
+- Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
```
### Tag: package-2019-02-01-preview
@@ -122,6 +131,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
- $(this-folder)/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
- $(this-folder)/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/examples/metadata-get.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/examples/metadata-get.json
new file mode 100644
index 000000000000..765523a9ae47
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/examples/metadata-get.json
@@ -0,0 +1,206 @@
+{
+ "title": "Get Metadata",
+ "description": "A metadata request that returns the app schema and other information",
+ "parameters": {
+ "subscriptionId": "72993b69-db12-44fc-9a66-9c2005c30513",
+ "resourceGroupName": "Fabrikam",
+ "applicationName": "FabrikamProd",
+ "apiVersion": "2018-04-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tables": [
+ {
+ "id": "t/requests",
+ "name": "requests",
+ "timespanColumn": "timestamp",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "url",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "success",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "resultCode",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "duration",
+ "type": "real"
+ },
+ {
+ "name": "performanceBucket",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "itemType",
+ "type": "string"
+ },
+ {
+ "name": "customDimensions",
+ "type": "dynamic",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "customMeasurements",
+ "type": "dynamic"
+ },
+ {
+ "name": "operation_Name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "operation_Id",
+ "type": "string"
+ },
+ {
+ "name": "operation_ParentId",
+ "type": "string"
+ },
+ {
+ "name": "operation_SyntheticSource",
+ "type": "string"
+ },
+ {
+ "name": "session_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_AuthenticatedId",
+ "type": "string"
+ },
+ {
+ "name": "user_AccountId",
+ "type": "string"
+ },
+ {
+ "name": "application_Version",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "client_Type",
+ "type": "string"
+ },
+ {
+ "name": "client_Model",
+ "type": "string"
+ },
+ {
+ "name": "client_OS",
+ "type": "string"
+ },
+ {
+ "name": "client_IP",
+ "type": "string"
+ },
+ {
+ "name": "client_City",
+ "type": "string"
+ },
+ {
+ "name": "client_StateOrProvince",
+ "type": "string"
+ },
+ {
+ "name": "client_CountryOrRegion",
+ "type": "string"
+ },
+ {
+ "name": "client_Browser",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleName",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleInstance",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "appId",
+ "type": "string"
+ },
+ {
+ "name": "appName",
+ "type": "string"
+ },
+ {
+ "name": "iKey",
+ "type": "string"
+ },
+ {
+ "name": "sdkVersion",
+ "type": "string"
+ },
+ {
+ "name": "itemId",
+ "type": "string"
+ },
+ {
+ "name": "itemCount",
+ "type": "int"
+ }
+ ]
+ }
+ ],
+ "tableGroups": [
+ {
+ "id": "ai/StandardSchema",
+ "name": "StandardSchema",
+ "source": "ai",
+ "tables": [
+ "t/requests"
+ ]
+ }
+ ],
+ "applications": [
+ {
+ "id": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "name": "FabrikamProd",
+ "resourceId": "/subscriptions/72993b69-db12-44fc-9a66-9c2005c30513/resourceGroups/Fabrikam/providers/microsoft.insights/components/FabrikamProd",
+ "tables": [],
+ "region": "southcentralus",
+ "tableGroups": [
+ "ai/StandardSchema"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/examples/metadata-post.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/examples/metadata-post.json
new file mode 100644
index 000000000000..5cc55bb0da46
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/examples/metadata-post.json
@@ -0,0 +1,206 @@
+{
+ "title": "Post Metadata",
+ "description": "A metadata request that returns the app schema and other information",
+ "parameters": {
+ "subscriptionId": "72993b69-db12-44fc-9a66-9c2005c30513",
+ "resourceGroupName": "Fabrikam",
+ "applicationName": "FabrikamProd",
+ "apiVersion": "2018-04-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tables": [
+ {
+ "id": "t/requests",
+ "name": "requests",
+ "timespanColumn": "timestamp",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "url",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "success",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "resultCode",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "duration",
+ "type": "real"
+ },
+ {
+ "name": "performanceBucket",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "itemType",
+ "type": "string"
+ },
+ {
+ "name": "customDimensions",
+ "type": "dynamic",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "customMeasurements",
+ "type": "dynamic"
+ },
+ {
+ "name": "operation_Name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "operation_Id",
+ "type": "string"
+ },
+ {
+ "name": "operation_ParentId",
+ "type": "string"
+ },
+ {
+ "name": "operation_SyntheticSource",
+ "type": "string"
+ },
+ {
+ "name": "session_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_AuthenticatedId",
+ "type": "string"
+ },
+ {
+ "name": "user_AccountId",
+ "type": "string"
+ },
+ {
+ "name": "application_Version",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "client_Type",
+ "type": "string"
+ },
+ {
+ "name": "client_Model",
+ "type": "string"
+ },
+ {
+ "name": "client_OS",
+ "type": "string"
+ },
+ {
+ "name": "client_IP",
+ "type": "string"
+ },
+ {
+ "name": "client_City",
+ "type": "string"
+ },
+ {
+ "name": "client_StateOrProvince",
+ "type": "string"
+ },
+ {
+ "name": "client_CountryOrRegion",
+ "type": "string"
+ },
+ {
+ "name": "client_Browser",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleName",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleInstance",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "appId",
+ "type": "string"
+ },
+ {
+ "name": "appName",
+ "type": "string"
+ },
+ {
+ "name": "iKey",
+ "type": "string"
+ },
+ {
+ "name": "sdkVersion",
+ "type": "string"
+ },
+ {
+ "name": "itemId",
+ "type": "string"
+ },
+ {
+ "name": "itemCount",
+ "type": "int"
+ }
+ ]
+ }
+ ],
+ "tableGroups": [
+ {
+ "id": "ai/StandardSchema",
+ "name": "StandardSchema",
+ "source": "ai",
+ "tables": [
+ "t/requests"
+ ]
+ }
+ ],
+ "applications": [
+ {
+ "id": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "name": "FabrikamProd",
+ "resourceId": "/subscriptions/72993b69-db12-44fc-9a66-9c2005c30513/resourceGroups/Fabrikam/providers/microsoft.insights/components/FabrikamProd",
+ "tables": [],
+ "region": "southcentralus",
+ "tableGroups": [
+ "ai/StandardSchema"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json
index 05a0090a8034..40df5f1ff2d4 100644
--- a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/2018-04-20/swagger.json
@@ -131,6 +131,84 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/components/{applicationName}/metadata": {
+ "post": {
+ "operationId": "Post_Metadata",
+ "summary": "Gets metadata information",
+ "description": "Retrieve the metadata information for the app, including its schema, etc.",
+ "x-ms-examples": {
+ "metadataPost": {
+ "$ref": "examples/metadata-post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/applicationName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/metadataResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "Get_Metadata",
+ "summary": "Gets metadata information",
+ "description": "Retrieve the metadata information for the app, including its schema, etc.",
+ "x-ms-examples": {
+ "metadataGet": {
+ "$ref": "examples/metadata-get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/applicationName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/metadataResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/components/{applicationName}/metrics/{metricId}": {
"get": {
"operationId": "Metrics_Get",
@@ -408,14 +486,6 @@
}
},
"parameters": {
- "appId": {
- "name": "appId",
- "description": "ID of the application. This is Application ID from the API Access settings blade in the Azure portal.",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"metricId": {
"name": "metricId",
"in": "path",
@@ -977,6 +1047,7 @@
}
},
"additionalProperties": {
+ "description": "Additional properties that can be provided on the metric result info",
"type": "object"
}
},
@@ -1180,7 +1251,10 @@
"description": "Client info of the event",
"$ref": "#/definitions/eventsClientInfo"
}
- }
+ },
+ "required": [
+ "type"
+ ]
},
"eventsTraceResult": {
"x-ms-discriminator-value": "trace",
@@ -2019,6 +2093,241 @@
}
}
},
+ "metadataResults": {
+ "title": "A metadata response.",
+ "description": "The metadata result for the app, including available tables, etc.",
+ "type": "object",
+ "properties": {
+ "tableGroups": {
+ "description": "The list of groups of tables on the app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataTableGroup"
+ },
+ "uniqueItems": true
+ },
+ "tables": {
+ "description": "The list of tables and columns that comprise the schema of the app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataTable"
+ },
+ "uniqueItems": true
+ },
+ "functions": {
+ "description": "The list of functions stored on the app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataFunction"
+ },
+ "uniqueItems": true
+ },
+ "applications": {
+ "description": "The list of Application Insights apps that were referenced in the metadata request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataApplication"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "metadataTableGroup": {
+ "title": "A group of tables.",
+ "description": "The table grouping can be either an Application Insights schema or a Log Analytics solution.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the table group",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the table group",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source of the table group, can be either AI or OMS for Log Analytics workspaces",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name of the table group",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the table group",
+ "type": "string"
+ },
+ "tables": {
+ "description": "The list of tables contained in the table group",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ]
+ },
+ "metadataTable": {
+ "title": "A data table that takes part in a schema of an Application Insights app.",
+ "description": "Tables are part of the app schema, and contain a list of columns and a reference to other relevant metadata items.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the table",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the table",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the table",
+ "type": "string"
+ },
+ "timespanColumn": {
+ "description": "The column associated with the timespan query parameter for the table",
+ "type": "string"
+ },
+ "columns": {
+ "description": "The list of columns defined on the table",
+ "type": "array",
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The name of the column",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the column",
+ "type": "string"
+ },
+ "type": {
+ "description": "The data type of the column",
+ "type": "string",
+ "enum": [
+ "bool",
+ "datetime",
+ "dynamic",
+ "int",
+ "long",
+ "real",
+ "string"
+ ],
+ "x-ms-enum": {
+ "name": "MetadataColumnDataType",
+ "modelAsString": true
+ }
+ },
+ "isPreferredFacet": {
+ "description": "A flag indicating this column is a preferred facet",
+ "type": "boolean"
+ },
+ "source": {
+ "description": "an indication of the source of the column, used only when multiple apps have conflicting definition for the column",
+ "type": "object"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ]
+ }
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ]
+ },
+ "metadataFunction": {
+ "title": "A stored function.",
+ "description": "Functions are stored Kusto queries that can be specified as part of queries by using their name.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the function.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the function, to be used in queries.",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "The parameters/arguments of the function, if any.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name of the function.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the function.",
+ "type": "string"
+ },
+ "body": {
+ "description": "The KQL body of the function.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "body"
+ ]
+ },
+ "metadataApplication": {
+ "title": "An Application Insights application.",
+ "description": "Application Insights apps that were part of the metadata request and that the user has access to.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the Application Insights app.",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The ARM resource ID of the Application Insights app.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the Application Insights app.",
+ "type": "string"
+ },
+ "region": {
+ "description": "The Azure region of the Application Insights app.",
+ "type": "string"
+ },
+ "tables": {
+ "description": "The list of custom tables for the Application Insights app.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "functions": {
+ "description": "The list of stored functions on the Application Insights app",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tableGroups": {
+ "description": "The list of table groups on the Application Insights app",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "resourceId",
+ "name",
+ "region"
+ ]
+ },
"errorDetail": {
"title": "Error details.",
"type": "object",
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json
index e53ba9f6fe61..f6ebd4cb640c 100644
--- a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json
@@ -377,6 +377,66 @@
}
}
}
+ },
+ "/apps/{appId}/metadata": {
+ "post": {
+ "operationId": "Post_Metadata",
+ "summary": "Gets metadata information",
+ "description": "Retrieve the metadata information for the app, including its schema, etc.",
+ "x-ms-examples": {
+ "metadataPost": {
+ "$ref": "examples/metadata-post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/metadataResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "Get_Metadata",
+ "summary": "Gets metadata information",
+ "description": "Retrieve the metadata information for the app, including its schema, etc.",
+ "x-ms-examples": {
+ "metadataGet": {
+ "$ref": "examples/metadata-get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/appId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "schema": {
+ "$ref": "#/definitions/metadataResults"
+ }
+ },
+ "default": {
+ "description": "An error response object.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
}
},
"parameters": {
@@ -914,6 +974,7 @@
}
},
"additionalProperties": {
+ "description": "Additional properties that can be provided on the metric result info",
"type": "object"
}
},
@@ -1117,7 +1178,10 @@
"description": "Client info of the event",
"$ref": "#/definitions/eventsClientInfo"
}
- }
+ },
+ "required": [
+ "type"
+ ]
},
"eventsTraceResult": {
"x-ms-discriminator-value": "trace",
@@ -1956,6 +2020,241 @@
}
}
},
+ "metadataResults": {
+ "title": "A metadata response.",
+ "description": "The metadata result for the app, including available tables, etc.",
+ "type": "object",
+ "properties": {
+ "tableGroups": {
+ "description": "The list of groups of tables on the app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataTableGroup"
+ },
+ "uniqueItems": true
+ },
+ "tables": {
+ "description": "The list of tables and columns that comprise the schema of the app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataTable"
+ },
+ "uniqueItems": true
+ },
+ "functions": {
+ "description": "The list of functions stored on the app.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataFunction"
+ },
+ "uniqueItems": true
+ },
+ "applications": {
+ "description": "The list of Application Insights apps that were referenced in the metadata request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/metadataApplication"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "metadataTableGroup": {
+ "title": "A group of tables.",
+ "description": "The table grouping can be either an Application Insights schema or a Log Analytics solution.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the table group",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the table group",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source of the table group, can be either AI or OMS for Log Analytics workspaces",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name of the table group",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the table group",
+ "type": "string"
+ },
+ "tables": {
+ "description": "The list of tables contained in the table group",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ]
+ },
+ "metadataTable": {
+ "title": "A data table that takes part in a schema of an Application Insights app.",
+ "description": "Tables are part of the app schema, and contain a list of columns and a reference to other relevant metadata items.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the table",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the table",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the table",
+ "type": "string"
+ },
+ "timespanColumn": {
+ "description": "The column associated with the timespan query parameter for the table",
+ "type": "string"
+ },
+ "columns": {
+ "description": "The list of columns defined on the table",
+ "type": "array",
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The name of the column",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the column",
+ "type": "string"
+ },
+ "type": {
+ "description": "The data type of the column",
+ "type": "string",
+ "enum": [
+ "bool",
+ "datetime",
+ "dynamic",
+ "int",
+ "long",
+ "real",
+ "string"
+ ],
+ "x-ms-enum": {
+ "name": "MetadataColumnDataType",
+ "modelAsString": true
+ }
+ },
+ "isPreferredFacet": {
+ "description": "A flag indicating this column is a preferred facet",
+ "type": "boolean"
+ },
+ "source": {
+ "description": "an indication of the source of the column, used only when multiple apps have conflicting definition for the column",
+ "type": "object"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ]
+ }
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ]
+ },
+ "metadataFunction": {
+ "title": "A stored function.",
+ "description": "Functions are stored Kusto queries that can be specified as part of queries by using their name.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the function.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the function, to be used in queries.",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "The parameters/arguments of the function, if any.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name of the function.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the function.",
+ "type": "string"
+ },
+ "body": {
+ "description": "The KQL body of the function.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "body"
+ ]
+ },
+ "metadataApplication": {
+ "title": "An Application Insights application.",
+ "description": "Application Insights apps that were part of the metadata request and that the user has access to.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the Application Insights app.",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The ARM resource ID of the Application Insights app.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the Application Insights app.",
+ "type": "string"
+ },
+ "region": {
+ "description": "The Azure region of the Application Insights app.",
+ "type": "string"
+ },
+ "tables": {
+ "description": "The list of custom tables for the Application Insights app.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "functions": {
+ "description": "The list of stored functions on the Application Insights app",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tableGroups": {
+ "description": "The list of table groups on the Application Insights app",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "resourceId",
+ "name",
+ "region"
+ ]
+ },
"errorDetail": {
"title": "Error details.",
"type": "object",
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/examples/metadata-get.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/examples/metadata-get.json
new file mode 100644
index 000000000000..03a4f88318a9
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/examples/metadata-get.json
@@ -0,0 +1,204 @@
+{
+ "title": "Get Metadata",
+ "description": "A metadata request that returns the app schema and other information",
+ "parameters": {
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "apiVersion": "2018-04-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tables": [
+ {
+ "id": "t/requests",
+ "name": "requests",
+ "timespanColumn": "timestamp",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "url",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "success",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "resultCode",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "duration",
+ "type": "real"
+ },
+ {
+ "name": "performanceBucket",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "itemType",
+ "type": "string"
+ },
+ {
+ "name": "customDimensions",
+ "type": "dynamic",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "customMeasurements",
+ "type": "dynamic"
+ },
+ {
+ "name": "operation_Name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "operation_Id",
+ "type": "string"
+ },
+ {
+ "name": "operation_ParentId",
+ "type": "string"
+ },
+ {
+ "name": "operation_SyntheticSource",
+ "type": "string"
+ },
+ {
+ "name": "session_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_AuthenticatedId",
+ "type": "string"
+ },
+ {
+ "name": "user_AccountId",
+ "type": "string"
+ },
+ {
+ "name": "application_Version",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "client_Type",
+ "type": "string"
+ },
+ {
+ "name": "client_Model",
+ "type": "string"
+ },
+ {
+ "name": "client_OS",
+ "type": "string"
+ },
+ {
+ "name": "client_IP",
+ "type": "string"
+ },
+ {
+ "name": "client_City",
+ "type": "string"
+ },
+ {
+ "name": "client_StateOrProvince",
+ "type": "string"
+ },
+ {
+ "name": "client_CountryOrRegion",
+ "type": "string"
+ },
+ {
+ "name": "client_Browser",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleName",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleInstance",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "appId",
+ "type": "string"
+ },
+ {
+ "name": "appName",
+ "type": "string"
+ },
+ {
+ "name": "iKey",
+ "type": "string"
+ },
+ {
+ "name": "sdkVersion",
+ "type": "string"
+ },
+ {
+ "name": "itemId",
+ "type": "string"
+ },
+ {
+ "name": "itemCount",
+ "type": "int"
+ }
+ ]
+ }
+ ],
+ "tableGroups": [
+ {
+ "id": "ai/StandardSchema",
+ "name": "StandardSchema",
+ "source": "ai",
+ "tables": [
+ "t/requests"
+ ]
+ }
+ ],
+ "applications": [
+ {
+ "id": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "name": "FabrikamProd",
+ "resourceId": "/subscriptions/72993b69-db12-44fc-9a66-9c2005c30513/resourceGroups/Fabrikam/providers/microsoft.insights/components/FabrikamProd",
+ "tables": [],
+ "region": "southcentralus",
+ "tableGroups": [
+ "ai/StandardSchema"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/examples/metadata-post.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/examples/metadata-post.json
new file mode 100644
index 000000000000..ed17f7f2e957
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/examples/metadata-post.json
@@ -0,0 +1,204 @@
+{
+ "title": "Post Metadata",
+ "description": "A metadata request that returns the app schema and other information",
+ "parameters": {
+ "appId": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "apiVersion": "2018-04-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tables": [
+ {
+ "id": "t/requests",
+ "name": "requests",
+ "timespanColumn": "timestamp",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "url",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "success",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "resultCode",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "duration",
+ "type": "real"
+ },
+ {
+ "name": "performanceBucket",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "itemType",
+ "type": "string"
+ },
+ {
+ "name": "customDimensions",
+ "type": "dynamic",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "customMeasurements",
+ "type": "dynamic"
+ },
+ {
+ "name": "operation_Name",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "operation_Id",
+ "type": "string"
+ },
+ {
+ "name": "operation_ParentId",
+ "type": "string"
+ },
+ {
+ "name": "operation_SyntheticSource",
+ "type": "string"
+ },
+ {
+ "name": "session_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_AuthenticatedId",
+ "type": "string"
+ },
+ {
+ "name": "user_AccountId",
+ "type": "string"
+ },
+ {
+ "name": "application_Version",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "client_Type",
+ "type": "string"
+ },
+ {
+ "name": "client_Model",
+ "type": "string"
+ },
+ {
+ "name": "client_OS",
+ "type": "string"
+ },
+ {
+ "name": "client_IP",
+ "type": "string"
+ },
+ {
+ "name": "client_City",
+ "type": "string"
+ },
+ {
+ "name": "client_StateOrProvince",
+ "type": "string"
+ },
+ {
+ "name": "client_CountryOrRegion",
+ "type": "string"
+ },
+ {
+ "name": "client_Browser",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleName",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "cloud_RoleInstance",
+ "type": "string",
+ "isPreferredFacet": true
+ },
+ {
+ "name": "appId",
+ "type": "string"
+ },
+ {
+ "name": "appName",
+ "type": "string"
+ },
+ {
+ "name": "iKey",
+ "type": "string"
+ },
+ {
+ "name": "sdkVersion",
+ "type": "string"
+ },
+ {
+ "name": "itemId",
+ "type": "string"
+ },
+ {
+ "name": "itemCount",
+ "type": "int"
+ }
+ ]
+ }
+ ],
+ "tableGroups": [
+ {
+ "id": "ai/StandardSchema",
+ "name": "StandardSchema",
+ "source": "ai",
+ "tables": [
+ "t/requests"
+ ]
+ }
+ ],
+ "applications": [
+ {
+ "id": "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "name": "FabrikamProd",
+ "resourceId": "/subscriptions/72993b69-db12-44fc-9a66-9c2005c30513/resourceGroups/Fabrikam/providers/microsoft.insights/components/FabrikamProd",
+ "tables": [],
+ "region": "southcentralus",
+ "tableGroups": [
+ "ai/StandardSchema"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json
index 4531ca4f30e2..57efc81be161 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/components_API.json
@@ -486,6 +486,24 @@
"externalDocs": {
"url": "https://aka.ms/sl0yqd"
}
+ },
+ "ConnectionString": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights component connection string."
+ },
+ "RetentionInDays": {
+ "type": "integer",
+ "description": "Retention period in days.",
+ "default": 90
+ },
+ "DisableIpMasking": {
+ "type": "boolean",
+ "description": "Disable IP masking."
+ },
+ "ImmediatePurgeDataOn30Days": {
+ "type": "boolean",
+ "description": "Purge data immediately after 30 days."
}
},
"required": [
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json
index d4394fc0e12b..a2603e240382 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsCreate.json
@@ -35,7 +35,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 100.0
+ "SamplingPercentage": 100.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
}
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json
index a3c1293a1e00..ea7eb18ea7d0 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsGet.json
@@ -26,7 +26,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 100.0
+ "SamplingPercentage": 100.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
}
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json
index c474d25e8d44..ccb105e6cac0 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsList.json
@@ -26,7 +26,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 75.0
+ "SamplingPercentage": 75.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
},
{
@@ -48,7 +52,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 30.0
+ "SamplingPercentage": 30.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
}
],
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json
index 9ff62be79504..dc9c2b395132 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsListByResourceGroup.json
@@ -27,7 +27,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 100.0
+ "SamplingPercentage": 100.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
},
{
@@ -49,7 +53,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 50.0
+ "SamplingPercentage": 50.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
}
],
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json
index 47733560cf56..ac92ef81e926 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdate.json
@@ -37,7 +37,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 100.0
+ "SamplingPercentage": 100.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
}
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json
index ba8fc91acc1c..3487365d9a29 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/ComponentsUpdateTagsOnly.json
@@ -41,7 +41,11 @@
"HockeyAppId": "",
"HockeyAppToken": "",
"provisioningState": "Succeeded",
- "SamplingPercentage": 100.0
+ "SamplingPercentage": 100.0,
+ "RetentionInDays": 90,
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "ImmediatePurgeDataOn30Days": false
}
}
}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
index b5e58ba63dc4..dd653a2a7d6f 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
@@ -64,15 +64,6 @@
"description": "Create a new Service or update an exiting Service.",
"operationId": "Services_CreateOrUpdate",
"parameters": [
- {
- "name": "resource",
- "in": "body",
- "description": "Parameters for the create or update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ServiceResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -84,6 +75,15 @@
},
{
"$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
}
],
"responses": {
@@ -167,15 +167,6 @@
"description": "Operation to update an exiting Service.",
"operationId": "Services_Update",
"parameters": [
- {
- "name": "resource",
- "in": "body",
- "description": "Parameters for the update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ServiceResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -187,6 +178,15 @@
},
{
"$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
}
],
"responses": {
@@ -270,15 +270,6 @@
"description": "Regenerate a test key for a Service.",
"operationId": "Services_RegenerateTestKey",
"parameters": [
- {
- "name": "regenerateTestKeyRequest",
- "in": "body",
- "description": "Parameters for the operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RegenerateTestKeyRequestPayload"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -290,6 +281,15 @@
},
{
"$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "regenerateTestKeyRequest",
+ "in": "body",
+ "description": "Parameters for the operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateTestKeyRequestPayload"
+ }
}
],
"responses": {
@@ -450,15 +450,6 @@
"description": "Create a new App or update an exiting App.",
"operationId": "Apps_CreateOrUpdate",
"parameters": [
- {
- "name": "appResource",
- "in": "body",
- "description": "Parameters for the create or update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AppResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -473,6 +464,15 @@
},
{
"$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "appResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
}
],
"responses": {
@@ -555,15 +555,6 @@
"description": "Operation to update an exiting App.",
"operationId": "Apps_Update",
"parameters": [
- {
- "name": "appResource",
- "in": "body",
- "description": "Parameters for the update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AppResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -578,6 +569,15 @@
},
{
"$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "appResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AppResource"
+ }
}
],
"responses": {
@@ -755,15 +755,6 @@
"description": "Create a new Binding or update an exiting Binding.",
"operationId": "Bindings_CreateOrUpdate",
"parameters": [
- {
- "name": "bindingResource",
- "in": "body",
- "description": "Parameters for the create or update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BindingResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -781,6 +772,15 @@
},
{
"$ref": "#/parameters/BindingNameParameter"
+ },
+ {
+ "name": "bindingResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
}
],
"responses": {
@@ -856,15 +856,6 @@
"description": "Operation to update an exiting Binding.",
"operationId": "Bindings_Update",
"parameters": [
- {
- "name": "bindingResource",
- "in": "body",
- "description": "Parameters for the update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/BindingResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -882,6 +873,15 @@
},
{
"$ref": "#/parameters/BindingNameParameter"
+ },
+ {
+ "name": "bindingResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BindingResource"
+ }
}
],
"responses": {
@@ -968,6 +968,12 @@
"required": true,
"type": "string"
},
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
{
"name": "availabilityParameters",
"in": "body",
@@ -976,12 +982,6 @@
"schema": {
"$ref": "#/definitions/NameAvailabilityParameters"
}
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -1059,15 +1059,6 @@
"description": "Create a new Deployment or update an exiting Deployment.",
"operationId": "Deployments_CreateOrUpdate",
"parameters": [
- {
- "name": "deploymentResource",
- "in": "body",
- "description": "Parameters for the create or update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DeploymentResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -1085,6 +1076,15 @@
},
{
"$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "deploymentResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
}
],
"responses": {
@@ -1170,15 +1170,6 @@
"description": "Operation to update an exiting Deployment.",
"operationId": "Deployments_Update",
"parameters": [
- {
- "name": "deploymentResource",
- "in": "body",
- "description": "Parameters for the update operation",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DeploymentResource"
- }
- },
{
"$ref": "#/parameters/ApiVersionParameter"
},
@@ -1196,6 +1187,15 @@
},
{
"$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "deploymentResource",
+ "in": "body",
+ "description": "Parameters for the update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
}
],
"responses": {
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
new file mode 100644
index 000000000000..302dcc6c8392
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
@@ -0,0 +1,571 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AttestationClient",
+ "description": "Describes the interface for the per-tenant enclave service.",
+ "version": "2018-09-01-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{tenantBaseUrl}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "tenantBaseUrl",
+ "x-ms-parameter-location": "client",
+ "description": "The tenant name, for example https://mytenant.attest.azure.net.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "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": {
+ "/operations/policy/updatepolicy": {
+ "post": {
+ "tags": [
+ "Policy"
+ ],
+ "summary": "Accepts a new policy document and returns a JWT which expresses used in preparation to set attestation policy.",
+ "operationId": "Policy_PrepareToSet",
+ "consumes": [
+ "text/plain"
+ ],
+ "produces": [
+ "text/plain",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ },
+ {
+ "name": "PolicyJws",
+ "in": "body",
+ "description": "JSON Web Signature (See RFC7515) expressing the new policy",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success - Returns a JWT signed by the metadata signing key that contains the hash of the supplied policy to be set.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdatePolicy": {
+ "$ref": "./examples/UpdatePolicy.json"
+ }
+ }
+ }
+ },
+ "/operations/policy/current": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "summary": "Retrieves the current policy for a given kind of TEE.",
+ "operationId": "Policy_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AttestationPolicy"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Policy": {
+ "$ref": "./examples/Get_Policy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy"
+ ],
+ "summary": "Sets the policy for a given kind of TEE.",
+ "operationId": "Policy_Set",
+ "consumes": [
+ "text/plain"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ },
+ {
+ "name": "newAttestationPolicy",
+ "in": "body",
+ "description": "JWT Expressing the new policy",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Set Policy": {
+ "$ref": "./examples/Set_Policy.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Policy"
+ ],
+ "summary": "Resets the attestation policy for the specified tenant and reverts to the default policy.",
+ "operationId": "Policy_Reset",
+ "consumes": [
+ "text/plain"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TeeKind"
+ },
+ {
+ "name": "PolicyJws",
+ "in": "body",
+ "description": "JSON Web Signature with an empty policy document",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success - Returns a JWT signed by the metadata signing key that contains the hash of the supplied policy to be set.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Reset Policy": {
+ "$ref": "./examples/Reset_Policy.json"
+ }
+ }
+ }
+ },
+ "/operations/policy/certificates": {
+ "get": {
+ "tags": [
+ "Policy Management Certificates"
+ ],
+ "summary": "Retrieves the set of certificates used to express policy for the current tenant.",
+ "operationId": "PolicyCertificates_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An RFC7519 JSON Web Token structure containing an RFC7517 JsonWebKeySet which contains the certificates used to validate policy changes",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get PolicyCertificates": {
+ "$ref": "./examples/Get_PolicyCertificates.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy Management Certificates"
+ ],
+ "summary": "Adds a new attestation policy certificate to the set of policy management certificates.",
+ "operationId": "PolicyCertificates_Add",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "policyCertificateToAdd",
+ "in": "body",
+ "description": "An RFC7519 JSON Web Token containing a claim named \"aas-policyCertificate\" whose value is an RFC7517 JSON Web Key which specifies a new key to add. The RFC7519 JWT must be signed with one of the existing signing certificates",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An RFC7519 JSON Web Token structure containing an RFC7517 JsonWebKeySet which contains the certificates used to validate policy changes",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add PolicyCertificate": {
+ "$ref": "./examples/Add_PolicyCertificate.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Policy Management Certificates"
+ ],
+ "summary": "Removes the specified policy management certificate. Note that the final policy management certificate cannot be removed.",
+ "operationId": "PolicyCertificates_Remove",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "policyCertificateToRemove",
+ "in": "body",
+ "description": "An RFC7519 JSON Web Token containing a claim named \"aas-policyCertificate\" whose value is an RFC7517 JSON Web Key which specifies a new key to update. The RFC7519 JWT must be signed with one of the existing signing certificates",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An RFC7519 JSON Web Token structure containing an RFC7517 JsonWebKeySet which contains the certificates used to validate policy changes",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Remove PolicyCertificate": {
+ "$ref": "./examples/Remove_PolicyCertificate.json"
+ }
+ }
+ }
+ },
+ "/certs": {
+ "get": {
+ "tags": [
+ "Attestation Provider"
+ ],
+ "summary": "Retrieves the OpenID Configuration data for the Azure Attestation Service",
+ "description": "Retrieves attestation signing keys in use by the attestation service",
+ "operationId": "SigningCertificates_Get",
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "400": {
+ "description": "Error processing the request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Reset Policy": {
+ "$ref": "./examples/Get_Certs.json"
+ }
+ }
+ }
+ },
+ "/.well-known/openid-configuration": {
+ "get": {
+ "tags": [
+ "Attestation Provider"
+ ],
+ "summary": "Retrieves the OpenID Configuration data for the Azure Attestation Service",
+ "description": "Retrieves metadata about the attestation signing keys in use by the attestation service",
+ "operationId": "MetadataConfiguration_Get",
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "400": {
+ "description": "Error processing the request",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Reset Policy": {
+ "$ref": "./examples/Get_MetadataConfiguration.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from Attestation."
+ },
+ "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."
+ }
+ },
+ "description": "An error response from Attestation."
+ },
+ "AttestationPolicy": {
+ "type": "object",
+ "properties": {
+ "policy": {
+ "description": "String-encoded attestation policy document.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version.",
+ "enum": [
+ "2018-09-01-preview"
+ ]
+ },
+ "TeeKind": {
+ "description": "Specifies the trusted execution environment to be used to validate the evidence",
+ "name": "tee",
+ "in": "query",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-enum": {
+ "name": "TeeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "SgxEnclave",
+ "description": "Intel Software Guard eXtensions"
+ },
+ {
+ "value": "OpenEnclave",
+ "description": "OpenEnclave extensions to SGX"
+ },
+ {
+ "value": "CyResComponent",
+ "description": "IoT Edge validation"
+ },
+ {
+ "value": "VSMEnclave",
+ "description": "VSM Enclave Attestation"
+ }
+ ]
+ },
+ "enum": [
+ "SgxEnclave",
+ "OpenEnclave",
+ "CyResComponent",
+ "VSMEnclave"
+ ]
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Add_PolicyCertificate.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Add_PolicyCertificate.json
new file mode 100644
index 000000000000..539fc3cc97b8
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Add_PolicyCertificate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "policyCertificateToAdd": "eyAiYWxnIjoiUlMyNTYiLCAieDVjIjogWyJNSUlEVFRDQ0FqV2dBd0lCQWdJSUlESkJoZVZUV1I4d0RRWUpLb1pJaHZjTkFRRUxCUUF3SWpFZ01CNEdBMVVFQXd3WFZHVnpkRk5wWjI1cGJtZERaWEowYVdacFkyRjBaVEl3SGhjTk1qQXdNakEwTURBd01EQXdXaGNOTWpJd01qQTBNREF3TURBd1dqQWlNU0F3SGdZRFZRUUREQmRVWlhOMFUybG5ibWx1WjBObGNuUnBabWxqWVhSbE1qQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1NbFhMYW11WjRYVXc2NHlJeElPczV3L25VdE5CeU95SzVpV3JVbE5RRmhxZ2lEdVNmN1gwVnpuZEhHVnNGS0ZJbFN0eGh4M3o1MHZEOTR4WEo1T2RZSm1vbzV4WjZxcEZwUndEVDNVTkhwTGVZZy8zeGQ2OHNlbEpxOHBUaDlpLytPTXZvdGdxTkt1NVcvWUVEMHNLWlgxRzdUUDdBK0d0V2VzSmJyQ3k5SGxidmNBZlJpdlV6cjBiUVFrYjd3TnZzRjBHMXZvcm5veDFqVmFoUHJSaDI1OWJsNmxGRURpMXJSOHN3TU5wNXB6RjNDOEltWmZ3NVNIcmxKNitvci83MmVvTDNhSVovWmlOZUczNU9IcSsrWjVFNkFQdFdzVTBZcVpQVDdGR1FqVllHeXBwUldISEVOK08zVlJ3eHRJSVJ6WjZMV2Z1RVJPVDBROVJUUCtHc0NBd0VBQWFPQmhqQ0JnekJSQmdOVkhTTUVTakJJZ0JUSEdVODN3MklKc0ZOdi80QlcvOWZlSXNZVWVhRW1wQ1F3SWpFZ01CNEdBMVVFQXd3WFZHVnpkRk5wWjI1cGJtZERaWEowYVdacFkyRjBaVEtDQ0NBeVFZWGxVMWtmTUIwR0ExVWREZ1FXQkJUSEdVODN3MklKc0ZOdi80QlcvOWZlSXNZVWVUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ2RrdDNacEVjQ2NtbWtveUNDbVgwcEJTSE51czh5THB4V3FZeG51UHI0ZzVKS2hXNWpFamVDNExEeCtkYjk3Z0kyZVdCNFQrRnRoSHlXdkE1OFlUZWRKZ3BLWUh2S2t0clRDWHdMemJvcThhM1h3bTQ5OHY2aUlSN09STG1MUng4dWdoK0p6eFZVKzZSRGNKRTJvbHVhcnlpdjhuYU1pRlhkVFVpVGYxVnZEWTh0YS9rSi9tVVpadTcvbUI3WEx6YUJRQUhYSU42SVozbFdxLzRWV3dZR2Z5aERPWTBSSHJWRzQ0NUdLckhuS2ZOcjNvSTJXeU9KL21JbUtDdTdTcmJ5Vm9HcituR0NvUUNtaVlLRVg1T0ZlVkY2Q1BOV3BxaURvOW50UWJURDltdVJsY0U3WG4rRFJuQ2xTSmhBdmJKVmV2MG1KQTVOZk1FSStDVW5RSXFQIl19.eyJhYXMtcG9saWN5Q2VydGlmaWNhdGUiOiB7Imt0eSI6IlJTQSIsICJ4NWMiOlsiTUlJRE1EQ0NBaGlnQXdJQkFnSUlJb08vb3RONENFOHdEUVlKS29aSWh2Y05BUUVMQlFBd0dURVhNQlVHQTFVRUF3d09UbVYzUTJWeWRHbG1hV05oZEdVd0hoY05NakF3TWpBME1EQXdNREF3V2hjTk1qSXdNakEwTURBd01EQXdXakFaTVJjd0ZRWURWUVFEREE1T1pYZERaWEowYVdacFkyRjBaVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLVHAxRytjajdiZHRYZUNDTzFJWHFpUDE4aW1MOFFUOVhUaE50ZFh2NXNtaWtLTU1UMjRuU3ArSGYxazI2bzZPSEpVUVhMQ0Q4ZkduUFZiVnRVOUd1WFNuWERXSHJwdnFtK3JBRmhhS1FkV2trWmt3eHlycFVhZjNLM3RDeWhrUVdtMHJpMHNTNGhRZUtOWDJNRE5GbmFrUUJWTXdWVXplK1BoMi94OTcraHdWRFozK3NWclJId1J0Q254b2ZPL2VSQkNkTFI1dUdxYXQzM1R2cjU4dWg3NHNVckpJSktzbXZweFZ1djk0RkgzQlFybVFOeXV2MEV0ekoycmx6NDAxZ2ZuUStHS05jQzA2bTRuczdhb09EMDRTWkFrdVhXZlMrTGw2bE83MlJQSlk4YXNiRVVkamNBOHZraEJ5K24wYlNkV2wrZVFKck9XQndpY08xVjJjK0VDQXdFQUFhTjhNSG93U0FZRFZSMGpCRUV3UDRBVTh3VUh0dlJwMEdHRXdJL3BhcGt3WkkyM2tOMmhIYVFiTUJreEZ6QVZCZ05WQkFNTURrNWxkME5sY25ScFptbGpZWFJsZ2dnaWc3K2kwM2dJVHpBZEJnTlZIUTRFRmdRVTh3VUh0dlJwMEdHRXdJL3BhcGt3WkkyM2tOMHdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFNckljZXQvZDlFWlZ5cXRVZjZaVWMxU2hKS3NYOFpacGYwdEg5VEVmdVhZdUpkUUh4cnhIeEZYSEE5SXFPYzc2L1l3WFVQT0VuYzVSUHNUTUU2d2RUYzJMTnhPaFBKMGtFT09XTWcxN2ZWUXM4eXJZMnhJeCs0U3pYMWQ5T3p0d0ZuazV6SnpJQ3R1dEtzTXRqS0hQbmh3N24xbTN5K2dLbDloSnRiRXdxNDVIZmxMWnBkZlc2bmlmTUNIMHdTS0xnNXdLRldOZUxKSy90ZFUzUjBDcmIxVHhJaWVGb2hVV1NJY3NFS1hWeXo1a3psdzVSV3JWWWJueGhVWmhibmhYVkNjajVyNzVIWlV3cXpOazBVYWViTFJVb3BYbzVacExuR3JTWFpod3AxRU05bHR3eGF0bC90Y3VQejNQM0QvRmVnU1dvS1dETEZXZzlrN1N3b2VyaGc9PSJdfX0.MB8bvwXkPE8YCgpsIKqfa7np_7UDD1tBabrFrnSXz-asCVGxN4PY49mFR2DN2phdhWYk-i7DTx2x3Kt6FGZ9s4A-d8AyjPzsEsIHYpvGlyE4ML35Nu0PUH25_1Xa7paPOiiOgzjP86bwlUp1R06TOmztbXyfEvSC2p8Gql5REFkRHUXSmSaG1cFPpFjpSPLRyiYD5nUb8CZgH6U4fbSZMSoVnQwzXx10AIFM0e5mLccQVu0T1KRgQiAsWI4UhVGthymhDgUlWnROxGh2mPitDYF6p18FekCVCBuiyo4GiD8l2RBpJU5xOm6_CYIPREhtKKWlMEgrYXUd2WcA4rcomQ"
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3QuOjg4ODgvb3BlcmF0aW9ucy9SZXRyaWV2ZUF0dGVzdGF0aW9uU2lnbmluZ0NlcnRpZmljYXRlcy9kZWZhdWx0Y2VydHMiLCAia2lkIjogInJPV1JGdXlnTWp5RGRrUXJtRFpBZ2xSNHhmc2FzUXI0Yms0THMzdjlscEU9IiwgInR5cCI6ICJKV1QifQ.eyJhYXMtcG9saWN5Q2VydGlmaWNhdGVzIjogeyJrZXlzIjogW3siYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJQm1PWFB1eFB3Tjh3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUUXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTkRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSllGanFuOXVSSFhaSDNQNXVLVGNDSjN1eXNnQ3F3cHpjTG42ZWhqcEVscjFRb3ZYNjdBZWtVeFpBSklhYVBGYXAwd0ZQdStiMWsyY1BIQWx3T1FUYjd2SXFSU2NzRnlnSEFMcVhja1VCR0g2aE1wbDRUZ2JaOGFGSStsV2R1YjFvNytLN2YwTmdwMjVhU2FiZVVramhHTzFKbFpmRktpWkhFUEdodkttQ3lXSzJ2ZVluY3JpOEJCSzMxL2QyTWdJL0RnUVRRZmZ3Y3JFY3Vkb2ZiT0U2a3NqVHBwM2RKdXY2aE5xMGY3VHVhWktIVnZRZVlvcTJXYk9PTVlIeGpyNGpCOGowcEYvdVgyWWI5ZDBQK05YWmFVSi96ekJBbDVCRDRuY1NsL25FZkM2RUIwU2lDOForNFZKZ1ozYzN3N0o5UHBnUk56dDFxV0RwQVFuM2hyNTU4Q0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlNENGNRZWhYczdaaTZxTlg3U0JIS2FoZU4zZjZFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUU0NDQVpqbHo3c1Q4RGZNQjBHQTFVZERnUVdCQlNENGNRZWhYczdaaTZxTlg3U0JIS2FoZU4zZnpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBWnNMa3d3QXRRcWcwSGZIVFFiZHZrWDhGNFlrcGpoaTk5c0VzeVlRZVVqVUtFbjlXdmxYNGtRdzFsNmFNa1Zwa3llWXFHU1hSRWZzMTZETTF0RjlFSHZYd29OSlJHbDBvM2ZzL1lKSEFEK3VoUlkyZEhycEtibm9QTlF0V1UzOXZKcDRnc055K1BIdHBhQkMwclZ6MzVkS0xJK1lvZytXMHdzbHovN1pGUkh0N3B3RHcxN3J1WVQzMC82d2FQbzc1LzlmUzNlMno4SXlwaHBLbDFPMThFQVE5YU9laTR0SGR0NG5DOEJ5MUFQUmEzV1ZkNUNZN3Y3RlJVMDlMUGJySE1uc3U5SXBSd2hmRWk5N0ZVN1Q3MW5Qb2RQNDMrbHZoV011anJ2ZWVjbmlGazBUUmhzbGdRYUVzZHI2SVJoMHY0K3JkZ213ZkRCdGxXaEZYQ2R5NzEiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJSURKQmhlVlRXUjh3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUSXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTU1sWExhbXVaNFhVdzY0eUl4SU9zNXcvblV0TkJ5T3lLNWlXclVsTlFGaHFnaUR1U2Y3WDBWem5kSEdWc0ZLRklsU3R4aHgzejUwdkQ5NHhYSjVPZFlKbW9vNXhaNnFwRnBSd0RUM1VOSHBMZVlnLzN4ZDY4c2VsSnE4cFRoOWkvK09Ndm90Z3FOS3U1Vy9ZRUQwc0taWDFHN1RQN0ErR3RXZXNKYnJDeTlIbGJ2Y0FmUml2VXpyMGJRUWtiN3dOdnNGMEcxdm9ybm94MWpWYWhQclJoMjU5Ymw2bEZFRGkxclI4c3dNTnA1cHpGM0M4SW1aZnc1U0hybEo2K29yLzcyZW9MM2FJWi9aaU5lRzM1T0hxKytaNUU2QVB0V3NVMFlxWlBUN0ZHUWpWWUd5cHBSV0hIRU4rTzNWUnd4dElJUnpaNkxXZnVFUk9UMFE5UlRQK0dzQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlRIR1U4M3cySUpzRk52LzRCVy85ZmVJc1lVZWFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUS0NDQ0F5UVlYbFUxa2ZNQjBHQTFVZERnUVdCQlRIR1U4M3cySUpzRk52LzRCVy85ZmVJc1lVZVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDZGt0M1pwRWNDY21ta295Q0NtWDBwQlNITnVzOHlMcHhXcVl4bnVQcjRnNUpLaFc1akVqZUM0TER4K2RiOTdnSTJlV0I0VCtGdGhIeVd2QTU4WVRlZEpncEtZSHZLa3RyVENYd0x6Ym9xOGEzWHdtNDk4djZpSVI3T1JMbUxSeDh1Z2grSnp4VlUrNlJEY0pFMm9sdWFyeWl2OG5hTWlGWGRUVWlUZjFWdkRZOHRhL2tKL21VWlp1Ny9tQjdYTHphQlFBSFhJTjZJWjNsV3EvNFZXd1lHZnloRE9ZMFJIclZHNDQ1R0tySG5LZk5yM29JMld5T0ovbUltS0N1N1NyYnlWb0dyK25HQ29RQ21pWUtFWDVPRmVWRjZDUE5XcHFpRG85bnRRYlREOW11UmxjRTdYbitEUm5DbFNKaEF2YkpWZXYwbUpBNU5mTUVJK0NVblFJcVAiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJSzA4TUgydC9NaWN3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUTXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjV6VlAzcVZiZmlybjRyM01ia2pDSEdTRlBGaURFemsxTWFhazdnU1ZzeFdCTkdNdEpRN291YUVVNVd2cXNPM2xDSWVGVm1uS210NzVvejA3Q2NpTjc1SjFFWXhVV0dyVmg1d0tKcVhDT2RkUVcwNUxmU0hOcGFZUk8zR3RPNU1JZjFkaTRQRUxkdEZ0Qng1TDd2Q2ZhNGx4cTJTN0pVTnMwMThOZk9UQ3dBZTMvNFR1YTRaa2xBdmpmaGtoZyt3cnkzN2RsaElLaEpQU2IvcUhHM2xXWVp3aFAyekZMcjlFbUVZdEJ3cFhRM3IwbUlDc3d0TnAxSWJiQ2s3SW9VZzR1SUtxU3htK2tCRGJOdFJmdWZpOXlWNTlYZXhIbUVNQXdOS24yLzcxMFpJbFNUazRJVmtYaDhSelpybVVhRkM2ajl0bytqbi9HNk9ZL2xxMmtnbXlzQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlFzeUlNZmduWUZweWVoY0tLdWZSdHRYZ1hCTWFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUT0NDQ3RQREI5cmZ6SW5NQjBHQTFVZERnUVdCQlFzeUlNZmduWUZweWVoY0tLdWZSdHRYZ1hCTVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCVUtJNnFhMGNKQjRZcEI2N01RUnQrMlQvSE5hNWxzc0pyNmxGMjRLaXRsUk9RUDZVdVk5SlpHdzM3ekVsSkUvUVNPdDFXVG5waUNnRHFqSzB2Z3hjV0hZSG1IenVNRjBnK1ZpNGZqZXRRbGRjQWhqSmh4cGJlWGJBVk4xUGlxcDZDUUg1MGo5THpaZzkxc2NmdlBpdldDNE9TUzRsQzMwOTlFN3RYZ3p6VzRJa1dGclh0dXlOb0lNQVRkZzljOEFlVmN4cU1WYUpDT2pyTmpOTmNRbzArWldMcVlaTExKUmdnVzFBL1pwUzJ1aW9iTGVHenRpT1hkR3JWV2RaUVNTOFBKQkQ2TWhUN2V3RnErTkpUdjA5R0cxelZiL3lHNGs2dlFIWWV5MmExRGlQbzFldHZLTzJLT2RKSE9hYWJuanZ3L2xsLys3VDZtOGJDb3VvQ0RhQzQiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJS0VWMmVYeXBOazR3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpURXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTHhnN0E1NlBHSGxWTFBjSTJUdVFTUnBjWEVpdUtSK2xhKzdORXdZbHhZZ0FSdy9zMXdtNnZpU2J6VkpPa3ZuNk9NakpMNkVnQkVpcmlJd25aSXBuNktHWjNKVTBrM0pmdTNzTFk2N3pFa045cHpQaDRLVlEzeDJzU085YVVvaDdMUDhmZEJCdkRlajBONEZNK1FQd3VGUms0VzNCWlVocm1EeE5DY21aa2gzVDV5TkQ0QklZVDhZVGNtR28ydnM1c0lXenZ4U1BhMWxoc0h6WisvVmg4OU5qdkdRaVdyQ3pGUlR5NVduNVdPWDBvN2w3dXJ6WTlQZ0xwMENCcTQ4d24yZUNmSWtOVHIwM1BCcE5lK1EyMmc5eDE5VUF1dWFkZnBBQWFpdTdHZDVydmRXZE5tM2dWc05XTU1PR29zR0RhNG5aSXY1MFI2VGRzWlYwZ0greDljQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlFhWU5IMWhmbWNuZzJ5SnlOVG5salo3TllHWXFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUR0NDQ2hGZG5sOHFUWk9NQjBHQTFVZERnUVdCQlFhWU5IMWhmbWNuZzJ5SnlOVG5salo3TllHWWpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBd3lwTmE1N0xEb25pQzZ5U1VFd1FTcUlZa3lJOG5NMWpWaktFd29HdlJiOXRBeWhWdTFqRllDNXJiTW1saGFNUGFqWUtWdHhoUDg0TEM4ZHNpVlVKUFNhdUd3L1JwODhQK2pnUm5Kb0tnRXV3c2xFSk41Y1drQTJwdkxaUHpmcy9oNVJOWitOeGdaelMyTlNiNjEyTitFYjRWWXJsZGxPZmdXSG1DUTdNa3BLZTZrODFpcU8yWnN2bHhtWlY0WUh4WlRESVhWU2h3YXpYSnJLZzREVlFZb0J2Q2U0cldJVmNKTzF6c2tIVWRhcHlCS0VveFlFd09RUzY1enJsM0hpR3lKelNpR1gxM0dlWTRDaDRScjJ3NWlYem8vTWZRYnVaUE1VMmovUU5pOS9TajJOMHI3bG9VRXVVbEdTRGs1OWs2cDF4aWRydllzcHZjWVlqY1Y1VmEiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURNRENDQWhpZ0F3SUJBZ0lJSW9PL290TjRDRTh3RFFZSktvWklodmNOQVFFTEJRQXdHVEVYTUJVR0ExVUVBd3dPVG1WM1EyVnlkR2xtYVdOaGRHVXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBWk1SY3dGUVlEVlFRRERBNU9aWGREWlhKMGFXWnBZMkYwWlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS1RwMUcrY2o3YmR0WGVDQ08xSVhxaVAxOGltTDhRVDlYVGhOdGRYdjVzbWlrS01NVDI0blNwK0hmMWsyNm82T0hKVVFYTENEOGZHblBWYlZ0VTlHdVhTblhEV0hycHZxbStyQUZoYUtRZFdra1prd3h5cnBVYWYzSzN0Q3loa1FXbTByaTBzUzRoUWVLTlgyTURORm5ha1FCVk13VlV6ZStQaDIveDk3K2h3VkRaMytzVnJSSHdSdENueG9mTy9lUkJDZExSNXVHcWF0MzNUdnI1OHVoNzRzVXJKSUpLc212cHhWdXY5NEZIM0JRcm1RTnl1djBFdHpKMnJsejQwMWdmblErR0tOY0MwNm00bnM3YW9PRDA0U1pBa3VYV2ZTK0xsNmxPNzJSUEpZOGFzYkVVZGpjQTh2a2hCeStuMGJTZFdsK2VRSnJPV0J3aWNPMVYyYytFQ0F3RUFBYU44TUhvd1NBWURWUjBqQkVFd1A0QVU4d1VIdHZScDBHR0V3SS9wYXBrd1pJMjNrTjJoSGFRYk1Ca3hGekFWQmdOVkJBTU1EazVsZDBObGNuUnBabWxqWVhSbGdnZ2lnNytpMDNnSVR6QWRCZ05WSFE0RUZnUVU4d1VIdHZScDBHR0V3SS9wYXBrd1pJMjNrTjB3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBTXJJY2V0L2Q5RVpWeXF0VWY2WlVjMVNoSktzWDhaWnBmMHRIOVRFZnVYWXVKZFFIeHJ4SHhGWEhBOUlxT2M3Ni9Zd1hVUE9FbmM1UlBzVE1FNndkVGMyTE54T2hQSjBrRU9PV01nMTdmVlFzOHlyWTJ4SXgrNFN6WDFkOU96dHdGbms1ekp6SUN0dXRLc010aktIUG5odzduMW0zeStnS2w5aEp0YkV3cTQ1SGZsTFpwZGZXNm5pZk1DSDB3U0tMZzV3S0ZXTmVMSksvdGRVM1IwQ3JiMVR4SWllRm9oVVdTSWNzRUtYVnl6NWt6bHc1UldyVllibnhoVVpoYm5oWFZDY2o1cjc1SFpVd3F6TmswVWFlYkxSVW9wWG81WnBMbkdyU1haaHdwMUVNOWx0d3hhdGwvdGN1UHozUDNEL0ZlZ1NXb0tXRExGV2c5azdTd29lcmhnPT0iXX1dfSwgImV4cCI6IDE1ODA4MjUyMTIsICJpYXQiOiAxNTgwODIxNjEyLCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3QuOjgwODAiLCAibmJmIjogMTU4MDgyMTYxMn0.l3mvIYE_-A5iLqUIQhXadadnc0Tt8dr1IpDiRIUELPXEF5TAalwJYSRoWPA6etdlPDU2eQyT0NPVfUKLU2xLobOg5ZwXGbVmE-DPGyqT93gl1CFv2fFkUJe8Vha7NT7O7s8MflB2RwJtGs9i1duuB_yGyt7DxGrE1bT-g_RcUH8"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Certs.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Certs.json
new file mode 100644
index 000000000000..53470d40927b
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Certs.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keys": [
+ {
+ "x5c": [
+ "MIIDazCCAlOgAwIBAgIQR8q7RtYeX6RHhpcFE6HNGDANBgkqhkiG9w0BAQsFADA/MT0wOwYDVQQDEzRodHRwczovL3Rlc3RhdHRlc3RhdGlvbjk5MzQudXMudGVzdC5hdHRlc3QuYXp1cmUubmV0MB4XDTE5MTIxMDAwNDY0OFoXDTIwMTIxMDAwNDY0OFowPzE9MDsGA1UEAxM0aHR0cHM6Ly90ZXN0YXR0ZXN0YXRpb245OTM0LnVzLnRlc3QuYXR0ZXN0LmF6dXJlLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2v9qLRt313zyzvF3dbPK6AcVO61RhTpRpnlnttwsGIK9A03Rb2bhJLrNsEOHvAPLgSPQWYNrNoeO/X9f9N2w18oZ9ReUIFOj0L0V/trOTYhJJ42f4zsCFz6iX8klqY1vE29y8YL+beqvjXg/8aLaTgs48I+R0coEuJECNADqIL8TCn+UzP1o2tTiH7EKGEG8qpiWRyC25Yl59EITpKrn78v/VMDF6RWkx5uetYDWBXeHi0l48k1lo38BOVOXhJPJvuCKeTSF1Oew7yTsR1QrVviOsnexOTAPtvINYXkLnDzbguNbTfs5FS3RzV017M7kcL3XC+x4B7HkrpvYKUuzsCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgIEMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIvByEw07sUvWMMQwiVoU5kDb09eMB8GA1UdIwQYMBaAFIvByEw07sUvWMMQwiVoU5kDb09eMA0GCSqGSIb3DQEBCwUAA4IBAQBM+itN5ZPTA7aRzzfnRNVIoixVrege/jPd5r9caHAQdhdOYy/TOxtpTkxYuP+pvlh/8e3F1zV/72iLjZCUYVQQLTRJ9BenF/AA4YJA2y/48UNHm9c+RauUB/KaxfMUolMQ9rkhGYxMBYhq1N3BitJ0m4WlPVzA0eVf1+UMARocasDUDkfmzAj4MAnee9oIBYOLaHe4La5DrLR7MV5v85rkP5Ed/oqznkyKcDT/OPSE3zwVy18BW6GskeLQ+kaTK/7MZM7nnsHO86Wpvjr4EkZZViupIlj/yQED6vWWnR41mCEN/P3MSoKYK1OQtdyhr0sow+CNSjZxz0ndWj7U6Rq1"
+ ],
+ "kid": "fAFUDjo0GcezSay/DP2z+LcPe4g/yjCUUAg88BXbDGw=",
+ "kty": "RSA"
+ },
+ {
+ "x5c": [
+ "MIIDcDCCAligAwIBAgIQAMxeVti2SRWf2t71dDYmaTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypBdHRlc3RhdGlvblNlcnZpY2UtTG9jYWxUZXN0LVJlcG9ydFNpZ25pbmcwHhcNMTkwNDI0MTYwMjUwWhcNMjEwNDI0MTYxMjUwWjA1MTMwMQYDVQQDEypBdHRlc3RhdGlvblNlcnZpY2UtTG9jYWxUZXN0LVJlcG9ydFNpZ25pbmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCww8VBqpnKDXo6W+DJbYOXP3BPIFFQi8XnHC59fIco08l7XLwr6mCY+Zzh9qInAENV7fzRJPt4hluCLoUb1vmTY9VdrvSgR5fX4nALJ4FuCFOeLzsxD+5+jP6L0KOT+Lz/3K5s26QaWv4SCNhEz2vI2ffO31AC5w4qfvV+QTK0pI8t9NoW0Afldd7F0E2UowFLHtwVV4lVBtGszvFiIo4X/NpRkj/8e4/0cQdmFlQFFtP/xKg9XP25EZTHrvsmLHSl3tG1F31Om9qsakkL4plTxaOosn71GzyU6BWIh8ZQgSszyTrY8qw0h8KNAot2v3RQrNVYWAxugYVnHhPspofXAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBRQCw4UHmsEwWMJKvERNt2nUVnaIDAdBgNVHQ4EFgQUUAsOFB5rBMFjCSrxETbdp1FZ2iAwDQYJKoZIhvcNAQELBQADggEBAJogTjVhZvG85eig5Qkqt72Hpm4YR9d06UYrwo8nQKoRLsOWW01ySOn7phGvb3dxEyXQmTe10U2x1X1gsGFqnXETXGX11oHnDCWtPk4hK+uVI3Uv2qlX1134nUGoicZb2nRicyUSh8+VHY0ZuOmUs95v+HEMIsEM12AbwWZRKB0+MTAW+4cXSR9LTxRm1pwLS+wKd4A2PYi4TLuO6erZBhZ4BbvmsQtdOaulsUJYWvF72fX+jGQF4WS3qiuN4QaI6Tm/ga3Dcgdfd2oBHePTkxLE252zxlKGZ8kx/WdOuVm/1F24e0fC5M67vlFJvq9VB9I+ElMcGponp8REzQamAIU="
+ ],
+ "kid": "81dsh2B8UUKHZ2JXSOQn-VwfQMU",
+ "kty": "RSA"
+ }
+ ]
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_MetadataConfiguration.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_MetadataConfiguration.json
new file mode 100644
index 000000000000..1690d9417d6f
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_MetadataConfiguration.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "response_types_supported": [
+ "token",
+ "none"
+ ],
+ "id_token_signing_alg_values_supported": [
+ "RS256"
+ ],
+ "revocation_endpoint": "https://mytest.attest.azure.net/revoke",
+ "jwks_uri": "https://mytest.attest.azure.net/certs",
+ "claims_supported": [
+ "is-debuggable",
+ "sgx-mrsigner",
+ "sgx-mrenclave",
+ "product-id",
+ "svn",
+ "tee",
+ "device_id",
+ "component_0_id",
+ "expected_components"
+ ]
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Policy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Policy.json
new file mode 100644
index 000000000000..0142b955f43a
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_Policy.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "policy": "testpolicy"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_PolicyCertificates.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_PolicyCertificates.json
new file mode 100644
index 000000000000..df170a7dcbd7
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_PolicyCertificates.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3QuOjg4ODgvb3BlcmF0aW9ucy9SZXRyaWV2ZUF0dGVzdGF0aW9uU2lnbmluZ0NlcnRpZmljYXRlcy9kZWZhdWx0Y2VydHMiLCAia2lkIjogImJTSi95T0wrVzFUbEJEUzNQVjN0bGNvblpCcy9TNVI2NDJLTUMzUlVJUkE9IiwgInR5cCI6ICJKV1QifQ.eyJhYXMtcG9saWN5Q2VydGlmaWNhdGVzIjogeyJrZXlzIjogW3siYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJQlQ0Yk4vTEp5WkV3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUSXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSmQ5enZ0MXl2d2g1LzJzSmovM1lTbG1IdXEzSkdqcHpjMTMyOWVKUEtvM09Zak1lM1dUcWNrRE9kV1BwS0EyVVBULzdVSW9ZdzdqdUNtcU5ZYjErMDBZY0x2bFhQdTBRTnMwSFo2cVh6bHhoRGNQVWlGTFNneDROQmVneFplM0h6SUlkY3VMR2l4Q0w5Z2szR1dKUDNrZEV2Wkl6N3VjQ08rUFl5Z1BIaXl2Q2xjVDRHZUkvZi8zbmp4RzJWQ2VuZE91UFJaT2ZyNDJ6dTJBWlExalhxN1d2U1VPODZiVnNRSmtHZWRMUFcwMFFzeVRNZzZMODhucUxPa05JU0hkSTdkOVdiZXVwSE1LL01ENHpzclRMa3Z5VTlTZFRoSGlPNGt2Tmd0a3JjUDdDaTNTUWlkTThrVUx0YTVsZUxaWUZ6YzIva0dDU0JybkwxVWErUy9DUndNQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlJIaExVNlNCelU4VytjSlV0TVlJb2FMTjVEOWFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUS0NDQVUrR3pmeXljbVJNQjBHQTFVZERnUVdCQlJIaExVNlNCelU4VytjSlV0TVlJb2FMTjVEOVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCTmpyZkI5K1I2VFZCNEJYUGQ4czlJajVNaXUrc3FzNmVLWW9VYXd3ZnNDT0xieVhOcnR2M1dEYXZBVUJTeVZVeHZiYWdSQzNDK29jcHQxV0tjMitJZFZzT3k1MGNjWldmY2pvNWtCMHVLRmNxcmVXVTlQUWRuMnRsRVlqZzdONGtNcXB4VlJnNGduMUpGRmZIampDbmZodkFTM3IvcE8vc3pLNXF2c0JpMzdPbkJ3OFRMbGw5eUdFekRGQld4Y2RjRGNDNnlGZGFMMENwZ3lQcFdSOXlsR2VDU0ZFeDM4bFRkSEpFa0EzQkJ2bnM3S2dubUs0YzdBV2piWm4zNjl4c3BKNmp6dGZnS1lzTkpZUGNpT3pBV2FlSVdNK3IrdXl6UDhab2hnbFh1V0ViT0FUaDBxL3RydmVLb2VoeGZPN1A3VldnZ0VwZUNVczVmUTJTOU9wUk4iXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJTEZjK25MZTg4dDB3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUTXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSkpFbTVSdHowVmJickV5S1hGWWlxaDFpT2hWSGE3R3IzMklDS1JiVmdkOHFmL1dMMkg1c25NV0IzVElLcGphT0NwZWkyekw0SjJqU3JqZks0ODFvK2dFRklkajhlZEVRNUY0L1VjWngrK1hXQnVHNDcxdnJnYmVFODRISTI2OGR0d1RWZjBLd3FnVHhPaHlpMUlWaWExRGJkaTJDODhkMFF0Rm9QdDlTYXZEdS9ubHA2dTdZaVlPZjhLd2c0Y0QxUDI4Z25qRktwRVVYVnhpTThxTlNxbE5IUjB0byt2UmovQzVpbWFYcnVpaFdZQUZpVzZLNE9UYWdnN2NTQzRnRGZvWWJTM1NLM3ZNYitQbG9BTTB2YlB3MW0zeW5PUlZ3UFpmQXRjVFEyVjYzNmFCcU8xVzZRMUJSeVRCSVJMdXNtYS9oekk2bkZ5VW90ZUpIMlZLT0U4Q0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlEzdGxISWgyZnlOTSttR25FY0ltd0xnLzZxaXFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUT0NDQ3hYUHB5M3ZQTGRNQjBHQTFVZERnUVdCQlEzdGxISWgyZnlOTSttR25FY0ltd0xnLzZxaWpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCTWVTYWNKcXduZXJkV2Q5UVAxVjJTZTk4UFVGL2ozanRZNFNGM3hUOXpMbmpVM0MrYldraHlJaW5rSWRGa0xiTVErMGVyY0kwWHhuZWFOaU9LMWhTWlR4V1NrcjBIOG44R0hIbitNbkZ5R1o4NkhCS3QzOCtCdkxVRTR5Wm94bk5Cb3dxcTdLN09iaWtydVJYQk5VSzdwMlV3MmppM2UyOCtWNnhxV2luc0Q2QzNmRitGbVEzdzdyUFM4Y0FhaVNxT0JTRGtxTWJ2U0tORitLekwzWjNxUStMblVGSVFjNDJtSlJLOWIra3ZZeXR5YWJxN3J2MTQwZmFqMkpQN3JsSFNSVmdjWWxmWUVNeW1PUHludjNVYWZ2YkcxT1JwbkVqOUNwNlMrR0d5TmF1cS9XdlVuQlZ0VE1qZ09GN1hPczE2WnRla3hJN1hqVWN6QUxUZjdhVlUiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJVGl3eEJLZDdpYll3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpURXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSUZ2ejQzK281TWFybkltOG9ZWC9EWmlqV3lFUXdCVnZnN0FlODBRTHZQZEhCcFAwWVZyWlpHQ3cxK1djVzNObm9JK0JJd0lYQyt4aWg3VkpheTd2VUxRUks0bFR2d0c0a1lvWExEa1ZsbXRNK3ZEdXRXamFxVkJqVWpwdEkxOWVOMVNhZzJWQ09qNWdMOXplRWhOakYxVU5wRG92VVdBa3BaZGNmZGw4d0kyUGljajVwNFVLVEJ6UzE5SDQ3Z0l2WC82aHpxa1RmQ2kyV2lobVl3YWlRRFpuTXZvRG9WcVF1QTExMUpXaHh3a3V0NENMTDJBdTZ2UmpqS3Z5MU9DT01zWDFnaTdZaDJ6QloxZ0Jnc1had2ZOdEZWalEvdWNEazJBOEd0MG9KK05mS05hMDlWbFkrdUVuSFMzbzFDZ0JOZTNBc3lGUzZpM1hOam9QSE15MVdjQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlI1czE0Tk9CVVRpWmNVRTVwQ2U5WUl3bzhtcjZFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUR0NDRTRzTVFTbmU0bTJNQjBHQTFVZERnUVdCQlI1czE0Tk9CVVRpWmNVRTVwQ2U5WUl3bzhtcnpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBWUVaY1YweUR6eVIwdTVGZlk5YjQwdVlmVldheE5hb2ltTnpOTkgwYis1b1FTUGpta0gwQ3VWK01ZdHovRmhLUkFRaThLS1dVd0lQZGpMVVhoV3hONXo2VUlWbWtodmxZYk5hM0pPNEdRSjg5WmQvdGVGWHphUHZjZ1MyeUI1cG0xLzRpdjhCVVQwelRrMWlCcUwrWTg2dlEwaFFCeEFGb3QzSjREYTZZTy93elRWMFl4M25kQmZ2SDduaTc3M0pTSXBXMm5YUndJRWRRSysrZ2srSnJCby9EZWp6NXU2Vkc1STlaZ3VrNWUyRWlSamFsNUNRbERCcEFreFIrVSs2WlpyMzI1WlFCTG5pVi8ySnV4dDhsREZVTWNWbm9tUHR6WUUwVUllSS9lRnpGd283S3JHOFpNOUpudThybzZqQ2x4YmN3NWREcyt4c280SlV6VFJuM1giXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJZGhwaGxkUGNDM0F3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUUXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTkRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSXRkRnBLVk5tWnFYbzZKbUFlQlNjVkU1azlMUUtxeWNhTDlwY1BwQUFlTkRKbGtNMEJITGNxa0hHWHdFTVNndjFteU9MYmFRSUNlaFBWTm16ZUVrMXdoZ1phRi9ZVXVPUytTaVIrU1RvbStIVFMwdTBsdE9tak1TK2xMeWVQbVduNis0T2s5US9ZNWFnVzZUaHpHb0VNa21zOFNHRnZyS0x6NEFnd3lkSG9MYjE1ZFczNjE2QzY5OHJhc3JyYzI1VHU5MzJTZ2hhKys4UlBDWkg1QU8wa01xTkRIeWFCbDZGbEp5TUxpRFRDeXJjUEFrZGJpL2Y1UGMrYVhJRzFUcnhCaGsrdkREQ3ByQmtFOUdsRGhaaTVSc2dIWm1oVHovY1kxNmxCM2ZnRjIzem0yaTNaWkdKOWpscy9CWEk3RHc3Vkxqb0Z0eFQreWdoTTgvcWFaMERFQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlJBcW5LMXJ0OFQ0Uzg4cDhjK1ptQ1NmQ0hFUjZFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUU0NDSFlhWVpYVDNBdHdNQjBHQTFVZERnUVdCQlJBcW5LMXJ0OFQ0Uzg4cDhjK1ptQ1NmQ0hFUnpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBRUNZZTdCdk9OYUVuZm5rNGozcmJqODRvMitoUWFGazVIUVpEVWpRSkNLRExpZ1NBdVBacnVzVkhmcnAxdU9qRGJSWDJXL1JPMzJHMWtSSDc3MnNKaW1hQUZIQ1F0LzlDUDUzbFZoUENubWV6VnhPRkRZdnR4emxkajhhNk9kOWZ3dHp4eVEvQXMzUEpyck9lWFVMamgydkphUE9SZVdBOHpZOVRXSW9aTEkveDFXZG5BeXVtQ3dSTlRWQ0s1Rjlxb24vZGdnYUJwMzBEUGFUdkFxa3lxREhheEZjZmhiYXRDYnU1dGV6aGh3emxyK2s1NkZVVUlpM1hOelRObU1GcUp4cFMycHhVQ0ZFQ3pFN0lEZmVPLzdXL3pzYTJVM1UrVDc3Nzl0WG15UHQ3VXRMYkVYNy9NWGVYZjFIb3ZyWm1VdUY1dFhvM2UrdWpCMmthVzFTd0kiXX1dfSwgImV4cCI6IDE1ODA4MjM2NTQsICJpYXQiOiAxNTgwODIwMDU0LCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3QuOjgwODAiLCAibmJmIjogMTU4MDgyMDA1NH0.RaFh8Yx6c_7nwH4ujZRE3aMbkt4u_togfc7xC7cFWjnZY-rYG6W93WC0ypqhw3pg6Fa3tJWUtiGM9rG3EN6ogFxQn10bKwUqEZoQal2xAIZdj2NLA8Xdo5LVCWoTOLJa5rUqGQb56vGTREqcuHzdcD7a6s3I8y5-Hd3HTeskDcI"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Remove_PolicyCertificate.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Remove_PolicyCertificate.json
new file mode 100644
index 000000000000..9dbebafcc28b
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Remove_PolicyCertificate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "policyCertificateToRemove": "eyAiYWxnIjoiUlMyNTYiLCAieDVjIjogWyJNSUlEVFRDQ0FqV2dBd0lCQWdJSU40eUdrS3c5L0U4d0RRWUpLb1pJaHZjTkFRRUxCUUF3SWpFZ01CNEdBMVVFQXd3WFZHVnpkRk5wWjI1cGJtZERaWEowYVdacFkyRjBaVEl3SGhjTk1qQXdNakEwTURBd01EQXdXaGNOTWpJd01qQTBNREF3TURBd1dqQWlNU0F3SGdZRFZRUUREQmRVWlhOMFUybG5ibWx1WjBObGNuUnBabWxqWVhSbE1qQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUtXWHIwc09KS1AyQm9TSHNyNXkvT1l1bVFwblVDaFRpcGtEVTB6Y1pJeFlZUElQbk9hL3dYT0RVazJocFd4NDZsTWxPcmtGMFdTUDA0NnRHN1g3TGluOVpGQ1ZMeFZ2M0V5WkJZbkxqNGpmWHUzWEtZalRmSlJyVzFrR1RRS1lzVGJub0s1bWh1NG1HUjJpeFByUUIyR0xxeVBxQzZYVjZISXNBUFBYdEpRWEFrMW9wMWkrOTJRNFIwM0EzTFhEY1RLdHRhckFrZzJmK2R2Ym1rcGJRSVJTQk1lZHNaZGMvdi8vYnVsWUgrQ0VNZVZxT1BkaFRCUjNBTHQxdGtTQ0VzN2Y1V0s4bUF4RzM1Q3daRkdORjVWSG5PeENXNTBJalFqUGJMWFRwMS9ad3g0V21obVBzb2V1OEo0UlZpZGpjYmRQRk81dHB3SnZFMGVzZEZoQXlNY0NBd0VBQWFPQmhqQ0JnekJSQmdOVkhTTUVTakJJZ0JUdlArbDQxZU0va3pheDJlNTlFSmp6TE1LTGJhRW1wQ1F3SWpFZ01CNEdBMVVFQXd3WFZHVnpkRk5wWjI1cGJtZERaWEowYVdacFkyRjBaVEtDQ0RlTWhwQ3NQZnhQTUIwR0ExVWREZ1FXQkJUdlArbDQxZU0va3pheDJlNTlFSmp6TE1LTGJUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ2hOWUJweUs5UndLSVNHUWZQdFVYM2VPWTlvVEtvS1NXUjMzdCtwUVYwSGszZXg5U0dRVFZFNkVnaFduRXRqQUdIWVNSY0txc0xOclduS0MvVnJoSGNneE1ianVhSHNaR1dDREhXSGhrMEk4RWZrSWdzV1NRNDZPdlZTRUgrY2laSmhXaCt1RUZmK3RnalJsdHhSS1hZNU4wSVJRQW92Qno1UWN4alFYcnJZelZGT1htSWZjeVJhT2lUOVJRUW5wWG1NYnR2b25FYjQrR1FOWG53Rll4dWs2Nk5yamhuT1ZWRm9YU2plN1h3WXpPZ0dxY0ljUURQbnROeFlpU3UrYzYyKzV3WjduaUJlRzlVVDJLQVI4Sm9nSXduRGJOa1F6ZE5QWEhoUTJ1V24rMG9Ec0lDL1lvN0RHMW44WFBJeHJtR00xOHpVWENmSjI1c1VKV2ZlSGx4Il19.eyJhYXMtcG9saWN5Q2VydGlmaWNhdGUiOiB7Imt0eSI6IlJTQSIsICJ4NWMiOlsiTUlJRFRUQ0NBaldnQXdJQkFnSUlYcTd4SENIT0VmTXdEUVlKS29aSWh2Y05BUUVMQlFBd0lqRWdNQjRHQTFVRUF3d1hWR1Z6ZEZOcFoyNXBibWREWlhKMGFXWnBZMkYwWlRNd0hoY05NakF3TWpBME1EQXdNREF3V2hjTk1qSXdNakEwTURBd01EQXdXakFpTVNBd0hnWURWUVFEREJkVVpYTjBVMmxuYm1sdVowTmxjblJwWm1sallYUmxNekNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMUTNvanZxcEFNVmllWTJoUW9YeWdYR3NnWWhMUi9nN1laQUhOOXEyMGt3dHEwOEdUNkVzaFNtZDV0b2srQThtUFNwSGFCZmJaRmx0SVF4N2dqUktVcXlkMWJmeU1Ddjh6Tm5nSWhFVGxWdzhDMjdXNmtIT1NITWFjQkNKR2FNSDF1blVjajNCNDlUL0U0bDRpWDUwK0NIYUdTOTNOaGliVENka3VOMlcwbW53VnU1RlZsSjRpd0txNUxMdXMrRklOSGVEOVRVRlVUZDFLV1NzMFduMHNvZlFQVks0dFU0d1lWQTQwZ1JRNGV3ZlpFbGlFbHE5Z2J1Y2VqcHZxNG0vL0ZtQWJ0SW5STjdoMU53M1ZrYUR0Vm5nVGVUeGhISHIra3FMVmUzK1dWMDJCYjFZL012QWNZZjV1Nm5aYmRGTnNzYUR2M1BqYVArYVJUYnBsTjhCdWNDQXdFQUFhT0JoakNCZ3pCUkJnTlZIU01FU2pCSWdCU1hFZWNuUExFOUVVaVBSVk1kWFNRNmV0YWQ4S0VtcENRd0lqRWdNQjRHQTFVRUF3d1hWR1Z6ZEZOcFoyNXBibWREWlhKMGFXWnBZMkYwWlRPQ0NGNnU4UndoemhIek1CMEdBMVVkRGdRV0JCU1hFZWNuUExFOUVVaVBSVk1kWFNRNmV0YWQ4REFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJNUnRrbUl6dlZpNm1TSEJmSW1ZOTdWV25IMm5IWVlwTzY0QnVhditRdHo5YlFPNTJieE5DekI5ZmJLZ1hjLzEzbUpEdndaWWFLRnNpSXV2SEwvUTlDTERYL3dmTDljZkZrRGttTkFGUysvSll1dVVja3NUOFdraWRYc3FKNWd1V3NzMmdsM1lrSEFQLzBZd1k2QVhFOGpFeHdJZDgySFduT2ZVNCtlcXUwOEZNYkNTdFRuZ2FJSVNUOGpESFNNQUJCOENKRUViM0pXTDJDUzJWK2NqR3Z3cUNFWXh5Vy9aN0JsZThzTnVFZG80d2l2WFNiYTF4L201VU9pREtud3pQTzQxNWNudDM1WjRpaE4yVVVCdEJwZGtqZytURVh2TWQ4QmNOblcrcEFMYXI2WU0vR0FWTzA5VE16SmZSeit0Q1BVUDNJQTlVUHV5dWFXNlFub2o3biJdfX0.E7_ofG66BPwims3yq0_nvgs1Hj5vY0Ko6cx9r7V9MxKEXYkmOCwH-y6uru5-GwZCVyb2xuU-vaExOHax0z72-disRSXSAUZk5wVgv99ZgSIdeGYq4gX6J4AkjgSe0FmzhKE--cGix6XhKH8XVRWXcp5UPv0Z5uejkIqQkIc7RpvftG-JAqqQQg5o3kLkK6jYMUQtYJHwxxpBA6PO7Z-bDJuiWkUJXFAWordn-yAWqNSPk8wEGDEnupTtyt4b6AFSJSqWCIt_IvqxR9O7QIy9mgnGj5kyVgV8O0xcRRsnZgfFdjc839UG92gyIw7SR0yQ0ELzXxc_7Suhf9y6Oyp4rg"
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3QuOjg4ODgvb3BlcmF0aW9ucy9SZXRyaWV2ZUF0dGVzdGF0aW9uU2lnbmluZ0NlcnRpZmljYXRlcy9kZWZhdWx0Y2VydHMiLCAia2lkIjogImsvaExrYXUvSWRzSmZ0dVlZMUxDVXVXUDZKMUV4Yjk1MFJwSDZnM0c3ems9IiwgInR5cCI6ICJKV1QifQ.eyJhYXMtcG9saWN5Q2VydGlmaWNhdGVzIjogeyJrZXlzIjogW3siYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJQWxuOGp0NjJWQUF3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpURXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTEowVkprNldxNk9QdGZJOVFjaWlRb3VTdjA5ejd6Rjg5L2xXSXVPMWdleVk2VWEzZjYxenVDTXovc1hjY2gvZVVna2pGcUlNaUhmN3dOU0pDQTRoWnZlT0dpanZydXMxcm1zSFcxaDFzOHdZWGx1MzhibnAzRnl2T0cwR0lhS3JqanRXbUtVSXpFekgwQ2dwNG5rN0R1SmRPT284SDY0a1BZNVE3cUVPU2NTUkQycVhGMDRpWGZmK3VOMk5xOHl2T1Q2TkN1azRsc0tVMUQxWHZWcENJTnVqSXpiY0prTHU3QzJMUmM4eE10RFJ0WEM2dldqanRVVUNpcFRZQlhzRnZoV3pRUVVXUmFYUnNQaXc2cEh3bDJsYko1cnBabWxVSWJ4RTFKZU5PNnlOVFZ0UTltVVlsU3Y0aVJGektpTWJqbDFpekp2cllQNGRrbXZVV2ZZMDRNQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlI4UTRpaitpNUFwQXZxK0NQWEtJemd6cTBiSmFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUR0NDQUpaL0k3ZXRsUUFNQjBHQTFVZERnUVdCQlI4UTRpaitpNUFwQXZxK0NQWEtJemd6cTBiSlRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBVzFicDZiL0hGZm45c3lWMmFpOEJrMTRFRDVpZURXaHAxMXBuaTA3eUU1WXRqdzNiUFIweThNYWF2WmF3dnlnL1EyTjJwaFU4dnVkeDRBeTc5YVdlZUsramNiQzF3RnhrUnNsWU1JSWFsdVJSUHNVbXhLMTFQc3F6eXBMdnlQZjM5UjZ0NWczOSs5OEtleVp5M000NE5OSGxjNkZ0djBQV3hIN2NRRVlXR0t1b0RuL3ByMjRjaFFwZnRCVTMvTFdSaU56a3l5bFBZTjE3b3ZUcnROUDlNbTdGd0JwTE80U0VWYTRsR3R3ZlJVV1RhZHp4ellISTUyN2ZDZW5QWDhML1lDTmZsaVhXaHFicWJXRU5pVExTaG5xQTBWV1JQcTdYMXpaM2p1ZmlzMWFKbXQ5dkNZQk05OWkySUVyV0hjNGhyYWRlaitjejU4bmE4TSt0K08rYVUiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJTjR5R2tLdzkvRTh3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUSXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTWpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS1dYcjBzT0pLUDJCb1NIc3I1eS9PWXVtUXBuVUNoVGlwa0RVMHpjWkl4WVlQSVBuT2Evd1hPRFVrMmhwV3g0NmxNbE9ya0YwV1NQMDQ2dEc3WDdMaW45WkZDVkx4VnYzRXlaQlluTGo0amZYdTNYS1lqVGZKUnJXMWtHVFFLWXNUYm5vSzVtaHU0bUdSMml4UHJRQjJHTHF5UHFDNlhWNkhJc0FQUFh0SlFYQWsxb3AxaSs5MlE0UjAzQTNMWERjVEt0dGFyQWtnMmYrZHZibWtwYlFJUlNCTWVkc1pkYy92Ly9idWxZSCtDRU1lVnFPUGRoVEJSM0FMdDF0a1NDRXM3ZjVXSzhtQXhHMzVDd1pGR05GNVZIbk94Q1c1MElqUWpQYkxYVHAxL1p3eDRXbWhtUHNvZXU4SjRSVmlkamNiZFBGTzV0cHdKdkUwZXNkRmhBeU1jQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlR2UCtsNDFlTS9remF4MmU1OUVKanpMTUtMYmFFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUS0NDRGVNaHBDc1BmeFBNQjBHQTFVZERnUVdCQlR2UCtsNDFlTS9remF4MmU1OUVKanpMTUtMYlRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDaE5ZQnB5SzlSd0tJU0dRZlB0VVgzZU9ZOW9US29LU1dSMzN0K3BRVjBIazNleDlTR1FUVkU2RWdoV25FdGpBR0hZU1JjS3FzTE5yV25LQy9WcmhIY2d4TWJqdWFIc1pHV0NESFdIaGswSThFZmtJZ3NXU1E0Nk92VlNFSCtjaVpKaFdoK3VFRmYrdGdqUmx0eFJLWFk1TjBJUlFBb3ZCejVRY3hqUVhycll6VkZPWG1JZmN5UmFPaVQ5UlFRbnBYbU1idHZvbkViNCtHUU5YbndGWXh1azY2TnJqaG5PVlZGb1hTamU3WHdZek9nR3FjSWNRRFBudE54WWlTdStjNjIrNXdaN25pQmVHOVVUMktBUjhKb2dJd25EYk5rUXpkTlBYSGhRMnVXbiswb0RzSUMvWW83REcxbjhYUEl4cm1HTTE4elVYQ2ZKMjVzVUpXZmVIbHgiXX0sIHsiYWxnIjogIlJTMjU2IiwgImt0eSI6ICJSU0EiLCAidXNlIjogInNpZyIsICJ4NWMiOiBbIk1JSURUVENDQWpXZ0F3SUJBZ0lJUi9xbVV5ekwvUnd3RFFZSktvWklodmNOQVFFTEJRQXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUUXdIaGNOTWpBd01qQTBNREF3TURBd1doY05Nakl3TWpBME1EQXdNREF3V2pBaU1TQXdIZ1lEVlFRRERCZFVaWE4wVTJsbmJtbHVaME5sY25ScFptbGpZWFJsTkRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2JOWEJvVFEyMjRsdFQ3bmJNdlZvMmtlZ0FEWHB5Q3FKeG5CNzNEbkU5cWJxaHAwMWNxaDZLT0tZamdiYlNvZ1Jmd0V1MElkc3BqZ2Z6N1VwU0Fjdk9XcDd4ckswa3JVZ0RveXVnVmtWY29OdEY1dnd5eHFQQWZrazJENnluWXpKTCtrQzl2dTVUU054S1ZMQWdJMnl1QW82NDdjQXkxRDdEWWpZT0pISytObXdNYkhFTldJNFh5VEd1L1FHeHZSbmNvaUhGbUNrK3RoYVdEaTl2U3BwV2ZoR01CMExTV1RXOXhrQVc4WVdLREhlbzN2YjIvV3REYUU0M2s4RUZuMFBrcGxzdlQveFpjMDMrZCtkdU5HY1NYNlJsdkp5WVlaNXRkdFFPYWlTck90SU50MytHZ1oyL1hEVlBJNS93a0JhTFk3Yy92YWxHYXFvbVF3dkNucmdjQ0F3RUFBYU9CaGpDQmd6QlJCZ05WSFNNRVNqQklnQlJvbVU3Vk9hTlIwNUVFQmlFTG10bG91REJlajZFbXBDUXdJakVnTUI0R0ExVUVBd3dYVkdWemRGTnBaMjVwYm1kRFpYSjBhV1pwWTJGMFpUU0NDRWY2cGxNc3kvMGNNQjBHQTFVZERnUVdCQlJvbVU3Vk9hTlIwNUVFQmlFTG10bG91REJlanpBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDTTdBNXRQMkRldUwwNXQyeFpMdVBtZEx4a1RsNlBzNWJvbXNLZUwveDNrWFJDTjRwbVZPUGNZY09LaURxV3NmSnl3b205S2RtUVJqdzBCVVBTemhvOGZmeEM4ZmZxRFcyYTljNzV5WjVLSDBXenA1TnpFT28zZStlY2xEZDIwYmEzVDUrMEZYOExMTmFybEUvSGhzS1pUa05PeVpDQlJWNTA5anZOdlpYYW5odC9IWGlRUU8xTzkvYXd4OUpvSExhb08yZmY1ODdSZlE5NkovTUlPQk1pTGx2bTZiK2hSaVdCTVVBbHdUNUdlSTVCd1ZmUkJNNm1qOE8raVkrNkJRQ1AydXJnVGh1NHRtTEU4NWlwNUhQcUxZYjFxUkV6SEVmRVFyaFRFNU1mVHA3Rmd3THJWMlUyNnVmbktBNlBoZkJib0NsZ21abE5xdnFDYStraW1meWUiXX1dfSwgImV4cCI6IDE1ODA4MjU4MzAsICJpYXQiOiAxNTgwODIyMjMwLCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3QuOjgwODAiLCAibmJmIjogMTU4MDgyMjIzMH0.sge6kefSMKfd5tZNwPjpPyqFy2__HvcCkJdxAyP5hx7JrZPnXNSe5gObEf2X2mswjNitMG5ttxvwZFMG-uC62gVzRL6I3utlgq6UbgHKgUq9Pq1cJeU0fCreHA6nHhKytoYuDwUSY_QuHsdDafhaS5qsmBQRfMGwdtdAVOkGIx0"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Reset_Policy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Reset_Policy.json
new file mode 100644
index 000000000000..b4ab4fac002f
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Reset_Policy.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave",
+ "PolicyJws": "eyJhbGciOiJub25lIn0.."
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9jZXJ0cyIsICJraWQiOiAieWtJd00rcnRNcnhFZkZJVHY2TGZjVG03eWszUkxXRXBkN1lsZmJyTk1JST0iLCAidHlwIjogIkpXVCJ9.eyJhYXMtcG9saWN5SGFzaCI6ICJ2MG9QNG9KWkVKWnh4SXhFNmJiVVAxa1JSbWVfZXgtUHV4NlF0c1U4STdNIiwgImV4cCI6IDE1NzM4NjI5NzQsICJpYXQiOiAxNTczODU5Mzc0LCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsICJuYmYiOiAxNTczODU5Mzc0fQ.FTMpKwZHJa5l9_Mdxl60FtSDOr9kLRDYw3UAofMXJ-eOEvm4FdNM69YHR6Oy_i1uUEnVDAnMHhR0APTXgKqoR7gDxxfJG_RgiQqsTmQ-ucmXNL2Ck--sH3bz9OfIocPYSN0FBWiq6fgG6iX_oMX1hs-ENsF7B3jSp1nVL8NWtWk"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Set_Policy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Set_Policy.json
new file mode 100644
index 000000000000..fe207243c8ee
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/Set_Policy.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave",
+ "newAttestationPolicy": "newAttestationPolicyname"
+ },
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/UpdatePolicy.json b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/UpdatePolicy.json
new file mode 100644
index 000000000000..3720a201b975
--- /dev/null
+++ b/specification/attestation/data-plane/Microsoft.Attestation/preview/2018-09-01-preview/examples/UpdatePolicy.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "tenantBaseUrl": "'https://mytest.attest.azure.net'",
+ "api-version": "2018-09-01-preview",
+ "tee": "SgxEnclave",
+ "PolicyJws": "eyJhbGciOiJub25lIn0.eyJBdHRlc3RhdGlvblBvbGljeSI6ICJ7XHJcbiAgICBcIiR2ZXJzaW9uXCI6IDEsXHJcbiAgICBcIiRhbGxvdy1kZWJ1Z2dhYmxlXCIgOiB0cnVlLFxyXG4gICAgXCIkY2xhaW1zXCI6W1xyXG4gICAgICAgIFwiaXMtZGVidWdnYWJsZVwiICxcclxuICAgICAgICBcInNneC1tcnNpZ25lclwiLFxyXG4gICAgICAgIFwic2d4LW1yZW5jbGF2ZVwiLFxyXG4gICAgICAgIFwicHJvZHVjdC1pZFwiLFxyXG4gICAgICAgIFwic3ZuXCIsXHJcbiAgICAgICAgXCJ0ZWVcIixcclxuICAgICAgICBcIk5vdERlYnVnZ2FibGVcIlxyXG4gICAgXSxcclxuICAgIFwiTm90RGVidWdnYWJsZVwiOiB7XCJ5ZXNcIjp7XCIkaXMtZGVidWdnYWJsZVwiOnRydWUsIFwiJG1hbmRhdG9yeVwiOnRydWUsIFwiJHZpc2libGVcIjpmYWxzZX19LFxyXG4gICAgXCJpcy1kZWJ1Z2dhYmxlXCIgOiBcIiRpcy1kZWJ1Z2dhYmxlXCIsXHJcbiAgICBcInNneC1tcnNpZ25lclwiIDogXCIkc2d4LW1yc2lnbmVyXCIsXHJcbiAgICBcInNneC1tcmVuY2xhdmVcIiA6IFwiJHNneC1tcmVuY2xhdmVcIixcclxuICAgIFwicHJvZHVjdC1pZFwiIDogXCIkcHJvZHVjdC1pZFwiLFxyXG4gICAgXCJzdm5cIiA6IFwiJHN2blwiLFxyXG4gICAgXCJ0ZWVcIiA6IFwiJHRlZVwiXHJcbn0ifQ."
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhbGciOiAiUlMyNTYiLCAiamt1IjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9jZXJ0cyIsICJraWQiOiAieWtJd00rcnRNcnhFZkZJVHY2TGZjVG03eWszUkxXRXBkN1lsZmJyTk1JST0iLCAidHlwIjogIkpXVCJ9.eyJhYXMtcG9saWN5SGFzaCI6ICJ2MG9QNG9KWkVKWnh4SXhFNmJiVVAxa1JSbWVfZXgtUHV4NlF0c1U4STdNIiwgImV4cCI6IDE1NzM4NjI5NzQsICJpYXQiOiAxNTczODU5Mzc0LCAiaXNzIjogImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsICJuYmYiOiAxNTczODU5Mzc0fQ.FTMpKwZHJa5l9_Mdxl60FtSDOr9kLRDYw3UAofMXJ-eOEvm4FdNM69YHR6Oy_i1uUEnVDAnMHhR0APTXgKqoR7gDxxfJG_RgiQqsTmQ-ucmXNL2Ck--sH3bz9OfIocPYSN0FBWiq6fgG6iX_oMX1hs-ENsF7B3jSp1nVL8NWtWk"
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "error message"
+ }
+ }
+ },
+ "401": {
+ "description": "Request is unauthorized",
+ "body": ""
+ }
+ }
+}
diff --git a/specification/attestation/data-plane/readme.md b/specification/attestation/data-plane/readme.md
new file mode 100644
index 000000000000..f382f8bb7b01
--- /dev/null
+++ b/specification/attestation/data-plane/readme.md
@@ -0,0 +1,100 @@
+# Attestation
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Attestation.
+
+
+
+---
+## Getting Started
+To build the SDK for Attestation, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+Following are the settings for using this specification with [AutoRest](https://aka.ms/autorest) tool to validation and optionally generate SDK.
+
+### Suppression
+
+### Basic Information
+These are the global settings for the Attestation APIs.
+
+``` yaml
+openapi-type: data-plane
+tag: package-2018-09-preview
+```
+
+### Tag: package-2018-09-preview
+
+These settings apply only when `--tag=package-2018-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-09-preview'
+input-file:
+- Microsoft.Attestation/preview/2018-09-01-preview/attestation.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
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+---
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Attestation
+ output-folder: $(csharp-sdks-folder)/attestation/Microsoft.Azure.Attestation/src/Generated
+ clear-output-folder: true
+```
+
+
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
+
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
+
diff --git a/specification/attestation/data-plane/readme.python.md b/specification/attestation/data-plane/readme.python.md
new file mode 100644
index 000000000000..edcb0a792127
--- /dev/null
+++ b/specification/attestation/data-plane/readme.python.md
@@ -0,0 +1,27 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.attestation
+ package-name: azure-attestation
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/attestation/azure-attestation/azure/attestation
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/attestation/azure-attestation
+```
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
index bbee9ff59cd9..3813af740c8c 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
@@ -63,7 +63,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}": {
"get": {
"tags": [
- "AttestationProvider"
+ "AttestationProviders"
],
"operationId": "AttestationProviders_Get",
"description": "Get the status of Attestation Provider.",
@@ -107,7 +107,7 @@
},
"put": {
"tags": [
- "AttestationProvider"
+ "AttestationProviders"
],
"operationId": "AttestationProviders_Create",
"description": "Creates or updates the Attestation Provider.",
@@ -136,6 +136,7 @@
{
"name": "creationParams",
"in": "body",
+ "required": true,
"description": "Client supplied parameters.",
"schema": {
"$ref": "#/definitions/AttestationServiceCreationParams"
@@ -164,9 +165,63 @@
}
}
},
+ "patch": {
+ "tags": [
+ "AttestationProviders"
+ ],
+ "operationId": "AttestationProviders_Update",
+ "description": "Updates the Attestation Provider.",
+ "x-ms-examples": {
+ "AttestationProviders_Update": {
+ "$ref": "./examples/Update_AttestationProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the attestation service"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateParams",
+ "in": "body",
+ "required": true,
+ "description": "Client supplied parameters.",
+ "schema": {
+ "$ref": "#/definitions/AttestationServicePatchParams"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated attestation service",
+ "schema": {
+ "$ref": "#/definitions/AttestationProvider"
+ }
+ },
+ "default": {
+ "description": "Error result from Attestation service",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
"delete": {
"tags": [
- "AttestationProvider"
+ "AttestationProviders"
],
"operationId": "AttestationProviders_Delete",
"description": "Delete Attestation Service.",
@@ -344,7 +399,7 @@
],
"allOf": [
{
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
"properties": {
@@ -363,6 +418,10 @@
"status"
],
"properties": {
+ "trustModel": {
+ "type": "string",
+ "description": "Trust model for the attestation service instance."
+ },
"status": {
"type": "string",
"description": "Status of attestation service.",
@@ -417,8 +476,46 @@
}
}
},
+ "AttestationServicePatchParams": {
+ "description": "Parameters for patching an attestation service instance",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the attestation service instance."
+ }
+ }
+ },
"AttestationServiceCreationParams": {
- "description": "Client supplied parameters passed to attestation service.",
+ "description": "Parameters for creating an attestation service instance",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The supported Azure location where the attestation service instance should be created."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the attestation service instance."
+ },
+ "properties": {
+ "$ref": "#/definitions/AttestationServiceCreationSpecificParams",
+ "description": "Properties of the attestation service instance"
+ }
+ }
+ },
+ "AttestationServiceCreationSpecificParams": {
+ "description": "Client supplied parameters used to create a new attestation service instance.",
"properties": {
"attestationPolicy": {
"type": "string",
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json
index e222f28aa981..582915a46a9e 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Create_AttestationProvider.json
@@ -3,29 +3,43 @@
"resourceGroupName": "MyResourceGroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01-preview",
- "providerName": "MyAttestationProvider",
+ "providerName": "myattestationprovider",
"creationParams": "test"
},
"responses": {
"200": {
"body": {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
- "name": "MyAttestationProvider",
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider",
+ "name": "myattestationprovider",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
+ "tags": {
+ "Property1": "Value1",
+ "Property2": "Value2",
+ "Property3": "Value3"
+ },
"properties": {
+ "trustModel": "Isolated",
"status": "Ready",
- "attestUri": "https://sample-attestation.attestation.azure.net"
+ "attestUri": "https://superservice.attestation.azure.net"
}
}
},
"201": {
"body": {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
- "name": "MyAttestationProvider",
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider",
+ "name": "myattestationprovider",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
+ "tags": {
+ "Property1": "Value1",
+ "Property2": "Value2",
+ "Property3": "Value3"
+ },
"properties": {
+ "trustModel": "Isolated",
"status": "Ready",
- "attestUri": "https://sample-attestation.attestation.azure.net"
+ "attestUri": "https://superservice.attestation.azure.net"
}
}
}
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json
index 3659e54a0f78..0d6c4bfa5158 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Delete_AttestationProvider.json
@@ -1,9 +1,10 @@
{
"parameters": {
- "resourceGroupName": "MyResourceGroup",
+ "resourceGroupName": "sample-resource-group",
+ "serviceName": "sampleservicename",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01-preview",
- "providerName": "MyAttestationProvider"
+ "providerName": "myattestationprovider"
},
"responses": {
"202": {
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json
index 4df31a7c93e9..2b5f58020741 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvider.json
@@ -3,16 +3,24 @@
"resourceGroupName": "MyResourceGroup",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"api-version": "2018-09-01-preview",
- "providerName": "MyAttestationProvider"
+ "providerName": "myattestationprovider"
},
"responses": {
"200": {
"body": {
- "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
- "name": "MyAttestationProvider",
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider",
+ "name": "myattestationprovider",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
+ "tags": {
+ "Property1": "Value1",
+ "Property2": "Value2",
+ "Property3": "Value3"
+ },
"properties": {
- "status": "Ready"
+ "trustModel": "Isolated",
+ "status": "Ready",
+ "attestUri": "https://superservice.attestation.azure.net"
}
}
}
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json
index 4ab27be179e5..045f93991e77 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersList.json
@@ -8,9 +8,10 @@
"body": {
"value": [
{
- "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
- "name": "MyAttestationProvider",
+ "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/myattestationprovider",
+ "name": "myattestationprovider",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
"properties": {
"status": "Ready"
}
@@ -19,6 +20,7 @@
"id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg2/providers/Microsoft.Attestation/attestationProviders/codes2",
"name": "codes2",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
"properties": {
"status": "Ready"
}
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json
index 7e19bb3bcb1b..9be2ab2ed038 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json
@@ -9,9 +9,10 @@
"body": {
"value": [
{
- "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider",
- "name": "MyAttestationProvider",
+ "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/myattestationprovider",
+ "name": "myattestationprovider",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
"properties": {
"status": "Ready"
}
@@ -20,6 +21,7 @@
"id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/codes2",
"name": "codes2",
"type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
"properties": {
"status": "Ready"
}
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Update_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Update_AttestationProvider.json
new file mode 100644
index 000000000000..1c49d1af4165
--- /dev/null
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Update_AttestationProvider.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "resourceGroupName": "MyResourceGroup",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2018-09-01-preview",
+ "providerName": "myattestationprovider",
+ "updateParams": {
+ "tags": {
+ "Property1": "Value1",
+ "Property2": "Value2",
+ "Property3": "Value3"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider",
+ "name": "myattestationprovider",
+ "type": "Microsoft.Attestation/attestationProviders",
+ "location": "East US",
+ "tags": {
+ "Property1": "Value1",
+ "Property2": "Value2",
+ "Property3": "Value3"
+ },
+ "properties": {
+ "trustModel": "Isolated",
+ "status": "Ready",
+ "attestUri": "https://superservice.attestation.azure.net"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/attestation/resource-manager/readme.az.md b/specification/attestation/resource-manager/readme.az.md
new file mode 100644
index 000000000000..15a808946ef8
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.az.md
@@ -0,0 +1,10 @@
+## Azure CLI
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: attestation
+ package-name: azure-mgmt-attestation
+ namespace: azure.mgmt.attestation
+```
diff --git a/specification/attestation/resource-manager/readme.go.md b/specification/attestation/resource-manager/readme.go.md
new file mode 100644
index 000000000000..2e19399e1ee5
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: attestation
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-09-preview
+```
+
+### Tag: package-2018-09-preview and go
+
+These settings apply only when `--tag=package-2018-09-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-09-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-09-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md
index 90db381404b1..f6640479ed02 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -50,6 +50,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-go
```
## Python
@@ -71,6 +72,9 @@ csharp:
clear-output-folder: true
```
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
index 44cf34f46206..40fcb50e2a3f 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json
@@ -5,7 +5,7 @@
"title": "AzureBridgeAdminClient",
"description": "AzureBridge Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
index 44185c283f61..7006ed80e3eb 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
@@ -5,7 +5,7 @@
"title": "AzureBridgeAdminClient",
"description": "AzureBridge Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -35,6 +35,9 @@
}
}
},
+ "produces": [
+ "application/json"
+ ],
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
@@ -207,6 +210,10 @@
"productProperties": {
"description": "the product properties. At the moment only VirtualMachineProductProperties is allowed.",
"$ref": "#/definitions/ProductProperties"
+ },
+ "compatibility": {
+ "description": "Product compatibility with current device.",
+ "$ref": "#/definitions/Compatibility"
}
}
},
@@ -266,6 +273,258 @@
"items": {
"$ref": "#/definitions/ProductLink"
}
+ },
+ "Compatibility": {
+ "description": "Product compatibility",
+ "type": "object",
+ "properties": {
+ "isCompatible": {
+ "description": "Tells if product is compatible with current device",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "Short error message if any compatibility issues are found",
+ "type": "string"
+ },
+ "description": {
+ "description": "Full error message if any compatibility issues are found",
+ "type": "string"
+ },
+ "issues": {
+ "description": "List of all issues found",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompatibilityIssue"
+ }
+ }
+ }
+ },
+ "CompatibilityIssue": {
+ "description": "Compatibility issue",
+ "type": "string",
+ "enum": [
+ "HigherDeviceVersionRequired",
+ "LowerDeviceVersionRequired",
+ "CapacityBillingModelRequired",
+ "PayAsYouGoBillingModelRequired",
+ "DevelopmentBillingModelRequired",
+ "AzureADIdentitySystemRequired",
+ "ADFSIdentitySystemRequired",
+ "ConnectionToInternetRequired",
+ "ConnectionToAzureRequired",
+ "DisconnectedEnvironmentRequired"
+ ],
+ "x-ms-enum": {
+ "name": "CompatibilityIssue",
+ "modelAsString": true
+ }
+ },
+ "DownloadedProductResource": {
+ "description": "Downloaded product resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of the resource.",
+ "$ref": "#/definitions/DownloadedProduct"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "AzureBridge.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DownloadedProduct": {
+ "description": "Properties for aggregate usage.",
+ "type": "object",
+ "properties": {
+ "vmExtensionType": {
+ "description": "Extension type of the VM.",
+ "type": "string"
+ },
+ "links": {
+ "description": "Gallery item identity.",
+ "$ref": "AzureBridge.json#/definitions/ProductLinks"
+ },
+ "legalTerms": {
+ "description": "Legal terms for the product.",
+ "type": "string"
+ },
+ "privacyPolicy": {
+ "description": "Privacy policy of the product.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "$ref": "AzureBridge.json#/definitions/ProvisioningState"
+ },
+ "galleryPackageBlobSasUri": {
+ "description": "The URI to the .azpkg file that provides information required for showing product in the gallery.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productDetailsProperties": {
+ "description": "Specifies additional properties describing the product.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExtendedProductProperties",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "AzureBridge.json#/definitions/ProductBase"
+ }
+ ]
+ },
+ "ExtendedProductProperties": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineExtensionProductProperties"
+ },
+ {
+ "$ref": "#/definitions/VirtualMachineProductProperties"
+ }
+ ]
+ },
+ "VirtualMachineExtensionProductProperties": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {
+ "computeRole": {
+ "description": "Specifies kind of compute role included in the package.",
+ "$ref": "#/definitions/ComputeRole",
+ "readOnly": true
+ },
+ "isSystemExtension": {
+ "description": "Specifies if product is a Virtual Machine Extension.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "sourceBlob": {
+ "description": "Specifies a download location where content can be downloaded from.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/Uri",
+ "readOnly": true
+ },
+ "supportMultipleExtensions": {
+ "description": "Indicates if specified product supports multiple extensions.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Specifies product version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmOsType": {
+ "description": "Specifies operating system used by the product.",
+ "$ref": "#/definitions/OperatingSystem",
+ "readOnly": true
+ },
+ "vmScaleSetEnabled": {
+ "description": "Indicates if virtual machine Scale Set is enabled in the specified product.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualMachineProductProperties": {
+ "description": "Product information.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "Specifies product version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osDiskImage": {
+ "description": "OS disk image used by product.",
+ "$ref": "#/definitions/OsDiskImage",
+ "readOnly": true
+ },
+ "dataDiskImages": {
+ "description": "List of attached data disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImage"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ComputeRole": {
+ "description": "Compute role type (IaaS or PaaS).",
+ "type": "string",
+ "enum": [
+ "None",
+ "IaaS",
+ "PaaS"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeRole",
+ "modelAsString": true
+ }
+ },
+ "Uri": {
+ "description": "The URI.",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "The URI.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperatingSystem": {
+ "description": "Operating system type (Windows or Linux).",
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystem",
+ "modelAsString": true
+ }
+ },
+ "OsDiskImage": {
+ "description": "OS disk image.",
+ "type": "object",
+ "properties": {
+ "operatingSystem": {
+ "description": "OS operating system type.",
+ "$ref": "#/definitions/OperatingSystem",
+ "readOnly": true
+ },
+ "sourceBlobSasUri": {
+ "description": "SAS key for source blob.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataDiskImage": {
+ "description": "Data disk image.",
+ "type": "object",
+ "properties": {
+ "lun": {
+ "description": "The LUN.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "sourceBlobSasUri": {
+ "description": "SAS key for source blob.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
index be4944f5d1dd..443b8e82072e 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/DownloadedProduct.json
@@ -5,7 +5,7 @@
"title": "AzureBridgeAdminClient",
"description": "AzureBridge Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -88,7 +88,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/DownloadedProductResource"
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
"404": {
@@ -134,13 +134,13 @@
"200": {
"description": "Accepted",
"schema": {
- "$ref": "#/definitions/DownloadedProductResource"
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
"202": {
"description": "Accepted",
"schema": {
- "$ref": "#/definitions/DownloadedProductResource"
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
"404": {
@@ -154,57 +154,63 @@
"consumes": [
"application/json"
]
+ },
+ "put": {
+ "x-ms-examples": {
+ "Puts the specified downloaded product.": {
+ "$ref": "./examples/DownloadedProduct/Put.json"
+ }
+ },
+ "description": "Creates a downloaded product.",
+ "tags": [
+ "DownloadedProducts"
+ ],
+ "operationId": "DownloadedProducts_Create",
+ "parameters": [
+ {
+ "$ref": "AzureBridge.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureBridge.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "AzureBridge.json#/parameters/ActivationNameParameter"
+ },
+ {
+ "$ref": "AzureBridge.json#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureBridge.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/DownloadedProductParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
}
},
"definitions": {
- "DownloadedProductResource": {
- "description": "Downloaded product resource.",
- "type": "object",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Properties of the resource.",
- "$ref": "#/definitions/DownloadedProduct"
- }
- },
- "allOf": [
- {
- "$ref": "AzureBridge.json#/definitions/Resource"
- }
- ]
- },
- "DownloadedProduct": {
- "description": "Properties for aggregate usage.",
- "type": "object",
- "properties": {
- "vmExtensionType": {
- "description": "Extension type of the VM.",
- "type": "string"
- },
- "links": {
- "description": "Gallery item identity.",
- "$ref": "AzureBridge.json#/definitions/ProductLinks"
- },
- "legalTerms": {
- "description": "Legal terms for the product.",
- "type": "string"
- },
- "privacyPolicy": {
- "description": "Privacy policy of the product.",
- "type": "string"
- },
- "provisioningState": {
- "description": "Provisioning state of the resource.",
- "$ref": "AzureBridge.json#/definitions/ProvisioningState"
- }
- },
- "allOf": [
- {
- "$ref": "AzureBridge.json#/definitions/ProductBase"
- }
- ]
- },
"DownloadedProductResourcesPage": {
"description": "Holds an array of downloaded products and the URI to the next page.",
"properties": {
@@ -212,7 +218,7 @@
"description": "Array of downloaded products.",
"type": "array",
"items": {
- "$ref": "#/definitions/DownloadedProductResource"
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
}
},
"nextLink": {
@@ -222,7 +228,18 @@
}
}
},
- "parameters": {},
+ "parameters": {
+ "DownloadedProductParameter": {
+ "description": "Downloaded product resource definition.",
+ "name": "downloadedProduct",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
+ }
+ }
+ },
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
index 12ce4926a147..d3f9266f56b7 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Product.json
@@ -5,7 +5,7 @@
"title": "AzureBridgeAdminClient",
"description": "AzureBridge Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -134,16 +134,25 @@
],
"responses": {
"200": {
- "description": "Accepted"
+ "description": "Accepted",
+ "schema": {
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
+ }
},
"202": {
- "description": "Accepted"
+ "description": "Accepted",
+ "schema": {
+ "$ref": "AzureBridge.json#/definitions/DownloadedProductResource"
+ }
},
"404": {
"description": "Not Found"
}
},
"x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
"produces": [
"application/json"
],
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json
new file mode 100644
index 000000000000..9b50491c0898
--- /dev/null
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/DownloadedProduct/Put.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "api-version": "2015-06-01-preview",
+ "resourceGroup": "azurestack",
+ "activationName": "default",
+ "productName": "Canonical.UbuntuServer1710-ARM.1.0.6",
+ "downloadedProduct": {
+ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default/downloadedProducts/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "name": "default/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "type": "Microsoft.AzureBridge.Admin/activations/downloadedProducts",
+ "properties": {
+ "galleryPackageBlobSasUri": "https://azstrptestwcu001.blob.core.windows.net/packages/Canonical.UbuntuServer1710.ARM.1.0.6/gallery/package.azpkg?sv=2015-04-05&sr=b&sig=mnzKeDrSMWoDilUrfrETb7n%2BG0Shme6f3AYzl3uzkYA%3D&se=2018-02-13T10%3A46%3A24Z&sp=r",
+ "productKind": "virtualMachineExtension",
+ "productDetailsProperties": {
+ "version": "1.0.6",
+ "vmOsType": "Linux",
+ "sourceBlob": {
+ "uri": "https://azstrptestwcu001.blob.core.windows.net/packages/Canonical.UbuntuServer1710.ARM.1.0.6/extension/vmext.zip?sv=2015-04-05&sr=b&sig=XtLzuO2rlqxyZOzfoTEDZW4DU9OxBZVCOw%2FVgY2%2FiUo%3D&se=2018-02-13T10%3A46%3A24Z&sp=r"
+ },
+ "computeRole": "IaaS",
+ "vmScaleSetEnabled": false,
+ "supportMultipleExtensions": false,
+ "isSystemExtension": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default/downloadedProducts/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "name": "default/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "type": "Microsoft.AzureBridge.Admin/activations/downloadedProducts",
+ "properties": {
+ "galleryPackageBlobSasUri": "https://azstrptestwcu001.blob.core.windows.net/packages/Canonical.UbuntuServer1710.ARM.1.0.6/gallery/package.azpkg?sv=2015-04-05&sr=b&sig=mnzKeDrSMWoDilUrfrETb7n%2BG0Shme6f3AYzl3uzkYA%3D&se=2018-02-13T10%3A46%3A24Z&sp=r",
+ "productKind": "virtualMachineExtension",
+ "productDetailsProperties": {
+ "version": "1.0.6",
+ "vmOsType": "Linux",
+ "sourceBlob": {
+ "uri": "https://azstrptestwcu001.blob.core.windows.net/packages/Canonical.UbuntuServer1710.ARM.1.0.6/extension/vmext.zip?sv=2015-04-05&sr=b&sig=XtLzuO2rlqxyZOzfoTEDZW4DU9OxBZVCOw%2FVgY2%2FiUo%3D&se=2018-02-13T10%3A46%3A24Z&sp=r"
+ },
+ "computeRole": "IaaS",
+ "vmScaleSetEnabled": false,
+ "supportMultipleExtensions": false,
+ "isSystemExtension": false
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default/downloadedProducts/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "name": "default/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "type": "Microsoft.AzureBridge.Admin/activations/downloadedProducts",
+ "properties": {
+ "galleryPackageBlobSasUri": "https://azstrptestwcu001.blob.core.windows.net/packages/Canonical.UbuntuServer1710.ARM.1.0.6/gallery/package.azpkg?sv=2015-04-05&sr=b&sig=mnzKeDrSMWoDilUrfrETb7n%2BG0Shme6f3AYzl3uzkYA%3D&se=2018-02-13T10%3A46%3A24Z&sp=r",
+ "productKind": "virtualMachineExtension",
+ "productDetailsProperties": {
+ "version": "1.0.6",
+ "vmOsType": "Linux",
+ "sourceBlob": {
+ "uri": "https://azstrptestwcu001.blob.core.windows.net/packages/Canonical.UbuntuServer1710.ARM.1.0.6/extension/vmext.zip?sv=2015-04-05&sr=b&sig=XtLzuO2rlqxyZOzfoTEDZW4DU9OxBZVCOw%2FVgY2%2FiUo%3D&se=2018-02-13T10%3A46%3A24Z&sp=r"
+ },
+ "computeRole": "IaaS",
+ "vmScaleSetEnabled": false,
+ "supportMultipleExtensions": false,
+ "isSystemExtension": false
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json
index 4f614095ac96..b2140e732112 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/examples/Product/download.json
@@ -8,8 +8,106 @@
"productName": "Canonical.UbuntuServer1710-ARM.1.0.6"
},
"responses": {
- "200": {},
- "202": {},
+ "200": {
+ "body": {
+ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default/downloadedProducts/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "name": "default/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "type": "Microsoft.AzureBridge.Admin/activations/downloadedProducts",
+ "properties": {
+ "displayName": "Ubuntu Server 17.10",
+ "description": "Ubuntu Server 17.10 amd64 20180109 Public Azure, 20180109 Azure China, 20180109 Azure Germany. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 17.10 will be available until July 2018. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.
Legal Terms
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
",
+ "publisherDisplayName": "Canonical",
+ "publisherIdentifier": "Canonical",
+ "provisioningState": "Downloading",
+ "offer": "UbuntuServer",
+ "offerVersion": "1.0.6",
+ "sku": "17.10",
+ "billingPartNumber": "",
+ "galleryItemIdentity": "Canonical.UbuntuServer1710-ARM.1.0.6",
+ "iconUris": {
+ "large": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Large.png",
+ "wide": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Wide.png",
+ "medium": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Medium.png",
+ "small": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Small.png"
+ },
+ "links": [
+ {
+ "displayName": "Linux VM Documentation",
+ "uri": "https://docs.microsoft.com/azure/virtual-machines/linux/"
+ },
+ {
+ "displayName": "Ubuntu Documentation",
+ "uri": "https://help.ubuntu.com/17.10/index.html"
+ },
+ {
+ "displayName": "FAQ",
+ "uri": "https://help.ubuntu.com/community/ServerFaq"
+ },
+ {
+ "displayName": "Pricing details",
+ "uri": "http://azure.microsoft.com/en-us/pricing/details/virtual-machines/#linux"
+ }
+ ],
+ "legalTerms": "http://www.ubuntu.com/project/about-ubuntu/licensing",
+ "privacyPolicy": "http://www.ubuntu.com/aboutus/privacypolicy",
+ "payloadLength": 32212288186,
+ "productKind": "VirtualMachine",
+ "productProperties": {
+ "version": "17.10.201801090"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/b6a34e73-810f-4564-881a-8434c6c2e5c8/resourceGroups/azurestack-activation/providers/Microsoft.AzureBridge.Admin/activations/default/downloadedProducts/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "name": "default/Canonical.UbuntuServer1710-ARM.1.0.6",
+ "type": "Microsoft.AzureBridge.Admin/activations/downloadedProducts",
+ "properties": {
+ "displayName": "Ubuntu Server 17.10",
+ "description": "Ubuntu Server 17.10 amd64 20180109 Public Azure, 20180109 Azure China, 20180109 Azure Germany. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 17.10 will be available until July 2018. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.
Legal Terms
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
",
+ "publisherDisplayName": "Canonical",
+ "publisherIdentifier": "Canonical",
+ "provisioningState": "Downloading",
+ "offer": "UbuntuServer",
+ "offerVersion": "1.0.6",
+ "sku": "17.10",
+ "billingPartNumber": "",
+ "galleryItemIdentity": "Canonical.UbuntuServer1710-ARM.1.0.6",
+ "iconUris": {
+ "large": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Large.png",
+ "wide": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Wide.png",
+ "medium": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Medium.png",
+ "small": "https://azstmktprod001.azureedge.net/Canonical.UbuntuServer1710-ARM.1.0.6/icons/Small.png"
+ },
+ "links": [
+ {
+ "displayName": "Linux VM Documentation",
+ "uri": "https://docs.microsoft.com/azure/virtual-machines/linux/"
+ },
+ {
+ "displayName": "Ubuntu Documentation",
+ "uri": "https://help.ubuntu.com/17.10/index.html"
+ },
+ {
+ "displayName": "FAQ",
+ "uri": "https://help.ubuntu.com/community/ServerFaq"
+ },
+ {
+ "displayName": "Pricing details",
+ "uri": "http://azure.microsoft.com/en-us/pricing/details/virtual-machines/#linux"
+ }
+ ],
+ "legalTerms": "http://www.ubuntu.com/project/about-ubuntu/licensing",
+ "privacyPolicy": "http://www.ubuntu.com/aboutus/privacypolicy",
+ "payloadLength": 32212288186,
+ "productKind": "VirtualMachine",
+ "productProperties": {
+ "version": "17.10.201801090"
+ }
+ }
+ }
+ },
"404": {}
}
}
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/preview/2018-09-01/Backup.json
index c54145fac66e..fd8ff97174fc 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json
@@ -5,7 +5,7 @@
"title": "BackupManagementClient",
"description": "The Admin Backup Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
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/preview/2018-09-01/BackupLocations.json
index 67766a5f7f40..0ff6e617dd72 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json
@@ -5,7 +5,7 @@
"title": "BackupManagementClient",
"description": "The Admin Backup Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
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/preview/2018-09-01/Backups.json
index 5870d5e9f5e5..b5f2abbb75a4 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
@@ -5,7 +5,7 @@
"title": "BackupManagementClient",
"description": "The Admin Backup Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backup.json
index 00d064f2489d..2e1306b80a80 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backup.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backup.json
@@ -5,7 +5,7 @@
"title": "BackupManagementClient",
"description": "The Admin Backup Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/BackupLocations.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/BackupLocations.json
index 9106ae82ff87..555c6e4fae3b 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/BackupLocations.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/BackupLocations.json
@@ -5,7 +5,7 @@
"title": "BackupManagementClient",
"description": "The Admin Backup Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backups.json
index 473c9fb5f481..56c214548f3a 100644
--- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backups.json
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2016-05-01/Backups.json
@@ -5,7 +5,7 @@
"title": "BackupManagementClient",
"description": "The Admin Backup Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
index d58bef0c94ab..c34915e2be14 100644
--- a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
+++ b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
@@ -5,7 +5,7 @@
"title": "CommerceManagementClient",
"description": "The Admin Commerce Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
index e7051cf62731..7a3968f659a9 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
@@ -4,7 +4,7 @@
"version": "2015-12-01-preview",
"title": "Compute Admin Client"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -93,6 +93,10 @@
"description": "The name of the operation being performed on this particular object. This name should match the name that appears in RBAC or the event service.",
"type": "string"
},
+ "isDataAction": {
+ "description": "Gets or sets a value indicating whether the operation is a data action or not.",
+ "type": "boolean"
+ },
"display": {
"description": "Contains the localized display information for this particular operation or action.",
"$ref": "#/definitions/Display"
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
index 213406c49850..eeeac1dc49a7 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
@@ -4,7 +4,7 @@
"version": "2015-12-01-preview",
"title": "Compute Admin Client"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json
index 04ca1bb59baf..046fa9229b43 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json
@@ -4,7 +4,7 @@
"version": "2015-12-01-preview",
"title": "Compute Admin Client"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
index 3c739a075da8..e3ddfb5dadba 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
@@ -4,7 +4,7 @@
"version": "2015-12-01-preview",
"title": "Compute Admin Client"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
index ebf801d8904d..023347b494d8 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
@@ -3,6 +3,159 @@
"api-version": "2015-12-01-preview"
},
"responses": {
- "200": {}
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Compute.Admin/register/action",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "Compute Admin Resource Provider",
+ "operation": "Registers the Compute Admin Resource Provider",
+ "description": "Registers the subscription for the compute admin resource provider which enables platform image and extension syndication operations"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/operations/read",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "Available Compute Admin Operations",
+ "operation": "List Available Compute Admin Operations",
+ "description": "Lists operations available on Microsoft.Compute.Admin resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/quotas/read",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "Quotas",
+ "operation": "Read Quotas",
+ "description": "Lists quotas"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/quotas/write",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "Quotas",
+ "operation": "Create or Update Quotas",
+ "description": "Create or Update any Quota"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/quotas/delete",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "Quotas",
+ "operation": "Delete Quota",
+ "description": "Delete any Quota"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/read",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "Syndication Artifacts",
+ "operation": "Read Syndication Artifacts",
+ "description": "List all syndication artifacts of a particular type"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/publishers/offers/skus/versions/read",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "PlatformImage",
+ "operation": "Read PlatformImage",
+ "description": "Read PlatformImage for particular Publisher,Offer,Sku,and Version"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/publishers/offers/skus/versions/write",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "PlatformImage",
+ "operation": "Create Or Update PlatformImage",
+ "description": "Create or Update any PlatformImage"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/publishers/offers/skus/versions/delete",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "PlatformImage",
+ "operation": "Delete PlatformImage",
+ "description": "Delete any PlatformImage"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/publishers/types/versions/read",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "VMExtension",
+ "operation": "Read VMExtension",
+ "description": "Read any VMExtension"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/publishers/types/versions/write",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "VMExtension",
+ "operation": "Create or Update VMExtension",
+ "description": "Create or Update any VMExtension"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/artifactTypes/publishers/types/versions/delete",
+ "display": {
+ "provider": "Microsoft.Compute.Admin",
+ "resource": "VMExtension",
+ "operation": "Delete VMExtension",
+ "description": "Delete any VMExtension"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/Disks/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Compute Admin",
+ "resource": "Disks",
+ "operation": "Get Disk",
+ "description": "Get the properties of a Disk"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/DiskMigrationJobs/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Compute Admin",
+ "resource": "DiskMigrationJobs",
+ "operation": "Get disk migration job",
+ "description": "Get the properties of a disk migration job"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/DiskMigrationJobs/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Compute Admin",
+ "resource": "DiskMigrationJobs",
+ "operation": "Create or Update a disk migration job",
+ "description": "Create or Update a disk migration job"
+ }
+ },
+ {
+ "name": "Microsoft.Compute.Admin/locations/DiskMigrationJobs/cancel/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Compute Admin",
+ "resource": "DiskMigrationJobs",
+ "operation": "Cancel a disk migration job",
+ "description": "Cancel a disk migration job"
+ }
+ }
+ ]
+ }
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
index f41c5a492c77..e8517f1d54e0 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
@@ -4,7 +4,7 @@
"version": "2018-02-09",
"title": "Compute Admin Client"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
index a07e54ee1d4d..a682c9357128 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
@@ -5,7 +5,7 @@
"title": "ComputeDiskAdminManagementClient",
"description": "The Admin Compute Disk Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
index 7d23fb1ee031..17f577faa01c 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
@@ -5,7 +5,7 @@
"title": "ComputeDiskAdminManagementClient",
"description": "The Admin Compute Disk Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
index 0f24730ed82f..f374728e2b99 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
index 9de1d44fcdc7..574331ae41c9 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
index 8d0057c40a0b..9dc085092803 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
index 282c10ba7140..a8885fc7244d 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
index 7402634f6765..2d066392edfe 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
index 472aecdd40a0..150376191118 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
index 3d2c2693a1d9..2b4950722d0d 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
@@ -5,7 +5,7 @@
"title": "DeploymentAdminClient",
"description": "Deployment Admin Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json
index 4fe463eee510..bad99dc348d3 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -93,9 +93,6 @@
"schema": {
"$ref": "#/definitions/ApplicationOperationResultList"
}
- },
- "404": {
- "description": "NOT FOUND"
}
},
"x-ms-pageable": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json
index a73c01e385f5..6105e4ac42d7 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -93,9 +93,6 @@
"schema": {
"$ref": "#/definitions/ComputeOperationResultList"
}
- },
- "404": {
- "description": "NOT FOUND"
}
},
"x-ms-pageable": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json
index 09c8edea9ec8..a1834367332e 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json
index 6f165415bf0e..76e785e3c70c 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json
index 76c9c6ce499d..c5f330cd75d5 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"description": "The Admin Fabric Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
index d38b6a95054d..5a08a6105b36 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
index e68576ec1971..7726d7c276c8 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json
index 1db19aea1201..5b6f57e438bd 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json
index 9865c8bedfdd..47169eafcfaa 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json
index 7baf92a8d9df..326a35036a54 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json
index 44719f878030..6ecedab00acc 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json
index 641cba94b954..0ed459edc4aa 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json
index 3c1845337126..994c71a6f276 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json
index 4966c26906c7..a7e8784666b8 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
index b61bb0c6bbfb..3b5e5924312c 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json
index a3288db8c73b..09971721d26e 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json
index d8a9eff07e72..a3e01482abbb 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json
index 489b9db089c2..33b277d2287d 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StoragePool.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StoragePool.json
index 962cb681f7be..fe5634b3a485 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StoragePool.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StoragePool.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageSystem.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageSystem.json
index 6f11e6406417..864808d3adae 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageSystem.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/StorageSystem.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Volume.json
index aa038f7f618b..192614f0c06a 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Volume.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Volume.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ApplicationOperationResult/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ApplicationOperationResult/List.json
index 12fc8f2be5c9..99f6e0f7c7b1 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ApplicationOperationResult/List.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ApplicationOperationResult/List.json
@@ -17,15 +17,10 @@
{
"properties": {
"provisioningState": "Failed"
- },
- "error": {
- "code": "OperationBlockedDueToUpdateInProgress",
- "message": "The operation cannot be performed at the present time, because there is an Azure Stack update in progress. Wait until the Azure Stack update is complete and then try your operation again."
}
}
]
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ComputeOperationResult/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ComputeOperationResult/List.json
index 12fc8f2be5c9..99f6e0f7c7b1 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ComputeOperationResult/List.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/ComputeOperationResult/List.json
@@ -17,15 +17,10 @@
{
"properties": {
"provisioningState": "Failed"
- },
- "error": {
- "code": "OperationBlockedDueToUpdateInProgress",
- "message": "The operation cannot be performed at the present time, because there is an Azure Stack update in progress. Wait until the Azure Stack update is complete and then try your operation again."
}
}
]
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/IpPool/Create.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/IpPool/Create.json
index a6768c14461a..929420506a6a 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/IpPool/Create.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/IpPool/Create.json
@@ -16,10 +16,18 @@
"200": {
"body": {
"properties": {
- "provisioningState": "Succeeded"
+ "startIpAddress": "192.168.1.1",
+ "endIpAddress": "192.168.1.254"
}
}
},
- "202": {}
+ "202": {
+ "body": {
+ "properties": {
+ "startIpAddress": "192.168.1.1",
+ "endIpAddress": "192.168.1.254"
+ }
+ }
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/NetworkOperationResult/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/NetworkOperationResult/List.json
index 12fc8f2be5c9..37f449fb71d0 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/NetworkOperationResult/List.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/NetworkOperationResult/List.json
@@ -17,10 +17,6 @@
{
"properties": {
"provisioningState": "Failed"
- },
- "error": {
- "code": "OperationBlockedDueToUpdateInProgress",
- "message": "The operation cannot be performed at the present time, because there is an Azure Stack update in progress. Wait until the Azure Stack update is complete and then try your operation again."
}
}
]
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/StorageOperationResult/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/StorageOperationResult/List.json
index 12fc8f2be5c9..37f449fb71d0 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/StorageOperationResult/List.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/examples/StorageOperationResult/List.json
@@ -17,10 +17,6 @@
{
"properties": {
"provisioningState": "Failed"
- },
- "error": {
- "code": "OperationBlockedDueToUpdateInProgress",
- "message": "The operation cannot be performed at the present time, because there is an Azure Stack update in progress. Wait until the Azure Stack update is complete and then try your operation again."
}
}
]
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Drive.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Drive.json
index bd3f9ca72ad5..372c62f926b2 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Drive.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Drive.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2018-10-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
index d42f6fbd0f0a..5cbd44d07ee9 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2018-10-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Volume.json
index 5e0ff0ee01e1..99cd2b6d1eb9 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Volume.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/Volume.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2018-10-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
index 66248bd6bff5..a49309035b87 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2019-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
new file mode 100644
index 000000000000..e93aa4081d80
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
@@ -0,0 +1,207 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "description": "Nas Cluster operation endpoints and objects.",
+ "title": "FabricAdminClient",
+ "version": "2019-05-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/nasClusters/{nasCluster}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the requested a nas cluster.": {
+ "$ref": "./examples/NasCluster/Get.json"
+ }
+ },
+ "tags": [
+ "NasClusters"
+ ],
+ "description": "Return the requested nas cluster.",
+ "operationId": "NasClusters_Get",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/NasClusterParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NasCluster"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/nasClusters": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of all storage nas clusters at a location.": {
+ "$ref": "./examples/NasCluster/List.json"
+ }
+ },
+ "tags": [
+ "NasClusters"
+ ],
+ "description": "Returns a list of all nas clusters at a location.",
+ "operationId": "NasClusters_List",
+ "parameters": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NasClusterList"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/NasCluster"
+ }
+ }
+ },
+ "definitions": {
+ "NasCluster": {
+ "description": "Representation of a nas cluster resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a nas cluster.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NasClusterModel"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../2016-05-01/Fabric.json#/definitions/Resource"
+ }
+ ]
+ },
+ "NasClusterModel": {
+ "description": "Properties of a nas cluster.",
+ "type": "object",
+ "properties": {
+ "clusterName": {
+ "description": "Name of nas cluster",
+ "type": "string",
+ "readOnly": true
+ },
+ "portalUri": {
+ "description": "The portal Uri of Nas Cluster",
+ "type": "string",
+ "readOnly": true
+ },
+ "size": {
+ "description": "The size of Nas Cluster in bytes",
+ "format": "int64",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeRemaining": {
+ "description": "The remaining size of Nas Cluster in bytes",
+ "format": "int64",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "NasClusterList": {
+ "description": "Pageable list of nas clusters.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of nas clusters.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NasCluster"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2019-05-01"
+ },
+ "NasClusterParameter": {
+ "name": "nasCluster",
+ "description": "Name of the nas cluster.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
index 5b9034456929..316cfe034ae4 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
@@ -5,7 +5,7 @@
"title": "FabricAdminClient",
"version": "2019-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/examples/NasCluster/Get.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/examples/NasCluster/Get.json
new file mode 100644
index 000000000000..ba17aab46318
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/examples/NasCluster/Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "72526b2b-4b61-4700-8f0c-7bb7ae9b6a2d",
+ "resourceGroupName": "System.redmond",
+ "location": "redmond",
+ "nasCluster": "bc489b66-faa7-41f0-bee7-bcba258f10fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/72526b2b-4b61-4700-8f0c-7bb7ae9b6a2d/resourceGroups/System.redmond/providers/Microsoft.Fabric.Admin/fabricLocations/redmond/nasClusters/bc489b66-faa7-41f0-bee7-bcba258f10fb",
+ "name": "redmond/bc489b66-faa7-41f0-bee7-bcba258f10fb",
+ "type": "Microsoft.Fabric.Admin/fabricLocations/nasClusters",
+ "location": "redmond",
+ "tags": {},
+ "properties": {
+ "size": 193273528320,
+ "sizeRemaining": 20185522176,
+ "clusterName": "IsilonR430",
+ "portalUri": "https://100.85.198.239:8080/"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/examples/NasCluster/List.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/examples/NasCluster/List.json
new file mode 100644
index 000000000000..fb2283a82cc9
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/examples/NasCluster/List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01",
+ "subscriptionId": "72526b2b-4b61-4700-8f0c-7bb7ae9b6a2d",
+ "resourceGroupName": "System.redmond",
+ "location": "redmond"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/72526b2b-4b61-4700-8f0c-7bb7ae9b6a2d/resourceGroups/System.redmond/providers/Microsoft.Fabric.Admin/fabricLocations/redmond/nasClusters/bc489b66-faa7-41f0-bee7-bcba258f10fb",
+ "name": "redmond/bc489b66-faa7-41f0-bee7-bcba258f10fb",
+ "type": "Microsoft.Fabric.Admin/fabricLocations/nasClusters",
+ "location": "redmond",
+ "tags": {},
+ "properties": {
+ "size": 193273528320,
+ "sizeRemaining": 20185522176,
+ "clusterName": "IsilonR430",
+ "portalUri": "https://100.85.198.239:8080/"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md
index 606cf1b9bb7b..66c605b587f4 100644
--- a/specification/azsadmin/resource-manager/fabric/readme.md
+++ b/specification/azsadmin/resource-manager/fabric/readme.md
@@ -114,6 +114,7 @@ input-file:
- "Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json"
- "Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json"
- "Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json"
+ - "Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json"
```
## Suppression
@@ -185,6 +186,7 @@ input-file:
- $(this-folder)/Microsoft.Fabric.Admin/preview/2018-10-01/Volume.json
- $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
- $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
```
diff --git a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json
index db84e1cfe080..4d73bc999c64 100644
--- a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json
+++ b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json
@@ -5,7 +5,7 @@
"title": "GalleryManagementClient",
"description": "The Admin Gallery Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json
index 7a69e8aa17d7..7c4c055353b9 100644
--- a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json
+++ b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/GalleryItem.json
@@ -5,7 +5,7 @@
"title": "GalleryManagementClient",
"description": "The Admin Gallery Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json
index 1f405b787540..6bfd9fb785ce 100644
--- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json
+++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json
@@ -5,7 +5,7 @@
"title": "InfrastructureInsightsManagementClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json
index 2bf034cbfaca..da54c9b89749 100644
--- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json
+++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json
@@ -5,7 +5,7 @@
"title": "InfrastructureInsightsManagementClient",
"description": "The Admin Infrastructure Insights Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json
index 288fdbacf753..2bf426bd5de2 100644
--- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json
+++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json
@@ -5,7 +5,7 @@
"title": "InfrastructureInsightsManagementClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json
index ced83170af43..8c9855cb68be 100644
--- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json
+++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json
@@ -5,7 +5,7 @@
"title": "InfrastructureInsightsManagementClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ServiceHealth.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ServiceHealth.json
index a1049299ac6b..3456542bb7e1 100644
--- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ServiceHealth.json
+++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ServiceHealth.json
@@ -5,7 +5,7 @@
"title": "InfrastructureInsightsManagementClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json b/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json
index 4a2e7c4b2c11..b6df4f04c822 100644
--- a/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json
+++ b/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json
@@ -5,7 +5,7 @@
"title": "KeyVaultManagementClient",
"description": "The Admin KeyVault Management Client."
},
- "host": "management.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/Quotas.json b/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/Quotas.json
index 072d5e04865d..d1c246d815d7 100644
--- a/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/Quotas.json
+++ b/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/Quotas.json
@@ -5,7 +5,7 @@
"title": "KeyVaultManagementClient",
"description": "The Admin KeyVault Management Client."
},
- "host": "management.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/LoadBalancers.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/LoadBalancers.json
index 2c0ff732b329..98f7b7a58b50 100644
--- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/LoadBalancers.json
+++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/LoadBalancers.json
@@ -5,7 +5,7 @@
"title": "NetworkAdminManagementClient",
"version": "2015-06-15"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json
index 78c9add8cc90..39d33b1b0bb2 100644
--- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json
+++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json
@@ -5,7 +5,7 @@
"title": "NetworkAdminManagementClient",
"version": "2015-06-15"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -80,7 +80,7 @@
"get": {
"x-ms-examples": {
"Returns the list of supported locations.": {
- "$ref": "./examples/Operations/List.json"
+ "$ref": "./examples/Locations/List.json"
}
},
"description": "Returns the list of supported locations",
diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/PublicIpAddresses.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/PublicIpAddresses.json
index aea83c54c90e..c0db8740613a 100644
--- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/PublicIpAddresses.json
+++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/PublicIpAddresses.json
@@ -5,7 +5,7 @@
"title": "NetworkAdminManagementClient",
"version": "2015-06-15"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Quotas.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Quotas.json
index 6f6c6149af9f..adb8d7713fc4 100644
--- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Quotas.json
+++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Quotas.json
@@ -5,7 +5,7 @@
"title": "NetworkAdminManagementClient",
"version": "2015-06-15"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json
index 30d4037ff6de..1a3b6d5806cd 100644
--- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json
+++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json
@@ -5,7 +5,7 @@
"title": "NetworkAdminManagementClient",
"version": "2015-06-15"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/examples/Operations/List.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/examples/Operations/List.json
index 7715ca4d7950..6a8d41f2669a 100644
--- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/examples/Operations/List.json
+++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/examples/Operations/List.json
@@ -6,8 +6,104 @@
"responses": {
"200": {
"body": {
- "value": [],
- "nextLink": ""
+ "value": [
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "AdminOverview",
+ "operation": "AdminOverview",
+ "description": "Summary Overview of Network Resources across subscriptions."
+ },
+ "name": "Microsoft.Network.Admin/adminOverview/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "VirtualNetwork",
+ "operation": "VirtualNetwork",
+ "description": "Gets a list of tenant virtual networks across all subscriptions."
+ },
+ "name": "Microsoft.Network.Admin/adminVirtualNetworks/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "LoadBalancer",
+ "operation": "LoadBalancer",
+ "description": "Gets information about all load balancers across subscriptions."
+ },
+ "name": "Microsoft.Network.Admin/adminLoadBalancers/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "PublicIpAddresses",
+ "operation": "PublicIpAddresses",
+ "description": "Lists public IP Addresses created by tenants across all subscriptions."
+ },
+ "name": "Microsoft.Network.Admin/adminPublicIpAddresses/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "Subscription",
+ "operation": "RegisterSubscription",
+ "description": "RegistersTheSubscription"
+ },
+ "name": "Microsoft.Network.Admin/register/action"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "QuotaOperation",
+ "operation": "ReadQuota",
+ "description": "Read action on Quota resources"
+ },
+ "name": "Microsoft.Network.Admin/locations/quotas/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "QuotaOperation",
+ "operation": "WriteQuota",
+ "description": "Write action on Quota resources"
+ },
+ "name": "Microsoft.Network.Admin/locations/quotas/write"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin",
+ "resource": "QuotaOperation",
+ "operation": "DeleteQuota",
+ "description": "Delete action on Quota resources"
+ },
+ "name": "Microsoft.Network.Admin/locations/quotas/delete"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin"
+ },
+ "name": "Microsoft.Network.Admin/operations/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin"
+ },
+ "name": "Microsoft.Network.Admin/locations/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin"
+ },
+ "name": "Microsoft.Network.Admin/locations/operations/read"
+ },
+ {
+ "display": {
+ "provider": "Microsoft.Network.Admin"
+ },
+ "name": "Microsoft.Network.Admin/locations/operationResults/read"
+ }
+ ]
}
}
}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
deleted file mode 100644
index 550b4395dffc..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of page BLOB acquisitions.": {
- "$ref": "./examples/Acquisitions/List.json"
- }
- },
- "tags": [
- "Acquisitions"
- ],
- "operationId": "Acquisitions_List",
- "description": "Returns a list of BLOB acquisitions.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/FilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of acquisitions has been returned.",
- "schema": {
- "$ref": "#/definitions/AcquisitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- }
- },
- "definitions": {
- "AcquisitionStatus": {
- "description": "The status of page BLOB acquisition.",
- "type": "string",
- "enum": [
- "InProgress",
- "Success",
- "Failed"
- ],
- "x-ms-enum": {
- "name": "AcquisitionStatus",
- "modelAsString": true
- }
- },
- "AcquisitionProperties": {
- "description": "The Properties of page BLOB acquisition.",
- "type": "object",
- "properties": {
- "filePath": {
- "description": "The file path of the page BLOB file on storage cluster.",
- "type": "string",
- "readOnly": true
- },
- "maximumblobsize": {
- "description": "The maximum size of the page BLOB.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "status": {
- "description": "The status of the page BLOB acquisition.",
- "$ref": "#/definitions/AcquisitionStatus",
- "readOnly": true
- },
- "susbcriptionid": {
- "description": "ID of the subscription associated with the page BLOB.",
- "type": "string",
- "readOnly": true
- },
- "storageaccount": {
- "description": "The storage account that holds the page BLOB.",
- "type": "string",
- "readOnly": true
- },
- "container": {
- "description": "The container associated with the page BLOB.",
- "type": "string",
- "readOnly": true
- },
- "blob": {
- "description": "The name of the page BLOB.",
- "type": "string",
- "readOnly": true
- },
- "acquisitionid": {
- "description": "The ID of page BLOB acquisition.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "Acquisition": {
- "description": "The acquisition of the page BLOB.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "The properties of the page blob acquisition.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/AcquisitionProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "AcquisitionList": {
- "description": "The list of page BLOB acquisitions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Acquisition"
- }
- }
- },
- "parameters": {},
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
deleted file mode 100644
index 519ef48fa783..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}": {
- "get": {
- "x-ms-examples": {
- "Returns the BLOB service.": {
- "$ref": "./examples/BlobService/Get.json"
- }
- },
- "tags": [
- "BlobServices"
- ],
- "operationId": "BlobServices_Get",
- "description": "Returns the BLOB service.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The BLOB service has been returned.",
- "schema": {
- "$ref": "#/definitions/BlobService"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns the list of metric definitions for BLOB service.": {
- "$ref": "./examples/BlobService/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "BlobServices"
- ],
- "operationId": "BlobServices_ListMetricDefinitions",
- "description": "Returns the list of metric definitions for BLOB service.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions for the BLOB service has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for BLOB service.": {
- "$ref": "./examples/BlobService/ListMetrics.json"
- }
- },
- "tags": [
- "BlobServices"
- ],
- "operationId": "BlobServices_ListMetrics",
- "description": "Returns a list of metrics for BLOB service.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "BlobServiceWritableSettings": {
- "description": "Settings of BLOB service.",
- "type": "object",
- "properties": {
- "blobSvcContainerGcInterval": {
- "description": "The interval, in seconds, of container garbage collection.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "blobSvcShallowGcInterval": {
- "description": "The interval ,in seconds, of shallow garbage collection.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "blobSvcStreamMapMinContainerOccupancyPercent": {
- "description": "The minimal container occupancy percent for stream mapping.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/WritableServiceSettings"
- }
- ]
- },
- "BlobServiceSettings": {
- "description": "Blob service settings.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/BlobServiceWritableSettings"
- }
- ]
- },
- "BlobServiceProperties": {
- "description": "Blob service properties.",
- "type": "object",
- "properties": {
- "settings": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/BlobServiceSettings",
- "description": "Blob service settings.",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Service"
- }
- ]
- },
- "BlobService": {
- "description": "The BLOB service.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Blob service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/BlobServiceProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- }
- },
- "parameters": {},
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
deleted file mode 100644
index 2e39b9862f23..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
+++ /dev/null
@@ -1,449 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}": {
- "post": {
- "x-ms-examples": {
- "Cancel a container migration job.": {
- "$ref": "./examples/Containers/CancelMigration.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_CancelMigration",
- "description": "Cancel a container migration job.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/OperationIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation has been accepted and processed",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- },
- "202": {
- "description": "ACCEPTED - Operation has been accepted will be processed asynchronously",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "get": {
- "x-ms-examples": {
- "Returns the status of a container migration job.": {
- "$ref": "./examples/Containers/MigrationStatus.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_MigrationStatus",
- "description": "Returns the status of a container migration job.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/OperationIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation has been accepted and processed",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers": {
- "get": {
- "x-ms-examples": {
- "Returns the list of containers which can be migrated in the specified share.": {
- "$ref": "./examples/Containers/List.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_List",
- "description": "Returns the list of containers which can be migrated in the specified share.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MigrationIntentParameter"
- },
- {
- "$ref": "#/parameters/MaxCountParameter"
- },
- {
- "$ref": "#/parameters/StartIndexParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of containers has been returned.",
- "schema": {
- "$ref": "#/definitions/ContainerList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm or share was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares": {
- "get": {
- "x-ms-examples": {
- "Returns a list of destination shares that the system considers as best candidates for migration.": {
- "$ref": "./examples/Containers/ListDestinationShares.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_ListDestinationShares",
- "description": "Returns a list of destination shares that the system considers as best candidates for migration.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of shares has been returned.",
- "schema": {
- "$ref": "shares.json#/definitions/ShareList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm or share was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate": {
- "post": {
- "x-ms-examples": {
- "Starts a container migration job to migrate containers to the specified destination share.": {
- "$ref": "./examples/Containers/Migrate.json"
- }
- },
- "tags": [
- "Containers"
- ],
- "operationId": "Containers_Migrate",
- "description": "Starts a container migration job to migrate containers to the specified destination share.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/MigrationParameterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Container has been migrated",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- },
- "202": {
- "description": "ACCEPTED -- Operation accepted and will be performed asynchronously",
- "schema": {
- "$ref": "#/definitions/MigrationResult"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- }
- },
- "definitions": {
- "Container": {
- "description": "Container properties.",
- "type": "object",
- "properties": {
- "sharename": {
- "description": "The name of the share where the container locates.",
- "type": "string",
- "readOnly": true
- },
- "accountname": {
- "description": "The name of storage account where the container locates.",
- "type": "string",
- "readOnly": true
- },
- "containername": {
- "description": "Container name.",
- "type": "string",
- "readOnly": true
- },
- "containerid": {
- "description": "The container ID.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "accountid": {
- "description": "The ID of the storage account.",
- "type": "string",
- "readOnly": true
- },
- "usedBytesInPrimaryVolume": {
- "description": "The used space, in bytes, of the container in the primary volume.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "containerState": {
- "description": "The current state of the container.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "ContainerList": {
- "description": "List of containers.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Container"
- }
- },
- "MigrationResult": {
- "description": "The result of the container migration.",
- "type": "object",
- "properties": {
- "jobId": {
- "description": "The migration job ID.",
- "type": "string",
- "readOnly": true
- },
- "sourceShareName": {
- "description": "The name of the source storage share.",
- "type": "string",
- "readOnly": true
- },
- "storageAccountName": {
- "description": "The storage account name.",
- "type": "string",
- "readOnly": true
- },
- "containerName": {
- "description": "The name of the container to be migrated.",
- "type": "string",
- "readOnly": true
- },
- "destinationShareName": {
- "description": "The name of the destination storage share.",
- "type": "string",
- "readOnly": true
- },
- "migrationStatus": {
- "description": "The migration status.",
- "$ref": "#/definitions/MigrationState",
- "readOnly": true
- },
- "subEntitiesCompleted": {
- "description": "The number of entities which have been migrated.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "subEntitiesFailed": {
- "description": "The number of entities which failed in migration.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "failureReason": {
- "description": "The migration failure reason.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "MigrationState": {
- "type": "string",
- "enum": [
- "Active",
- "Paused",
- "Deleted",
- "Rollback",
- "Complete",
- "Canceled",
- "Failed",
- "All"
- ],
- "x-ms-enum": {
- "name": "MigrationState",
- "modelAsString": true
- }
- },
- "MigrationParameters": {
- "description": "Parameters of container migration job.",
- "type": "object",
- "properties": {
- "storageAccountName": {
- "type": "string",
- "description": "The name of the storage account where the container locates."
- },
- "containerName": {
- "type": "string",
- "description": "The name of the container to be migrated."
- },
- "destinationShareUncPath": {
- "type": "string",
- "description": "The UNC path of the destination share for migration."
- }
- },
- "required": [
- "storageAccountName",
- "containerName",
- "destinationShareUncPath"
- ]
- }
- },
- "parameters": {
- "MigrationIntentParameter": {
- "description": "The container migration intent.",
- "name": "Intent",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "MaxCountParameter": {
- "description": "The maximum number of containers.",
- "name": "MaxCount",
- "in": "query",
- "type": "integer",
- "format": "int32",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "StartIndexParameter": {
- "description": "The starting index the resource provider uses.",
- "name": "StartIndex",
- "in": "query",
- "type": "integer",
- "format": "int32",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "MigrationParameterParameter": {
- "description": "The parameters of container migration job.",
- "name": "migrationParameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/MigrationParameters"
- },
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json
deleted file mode 100644
index 7c6d91a23a52..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": []
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json
deleted file mode 100644
index aff66c3516b5..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/blobservices/default",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/default",
- "type": "Microsoft.Storage.Admin/farms/blobservices",
- "location": "local",
- "properties": {
- "settings": {
- "frontEndHttpListenPort": 11000,
- "frontEndHttpsListenPort": 11100,
- "frontEndCallbackThreadsCount": 1600,
- "frontEndCpuBasedKeepAliveThrottlingEnabled": true,
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": 90.0,
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": 2.0,
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": 5,
- "frontEndMemoryThrottlingEnabled": true,
- "frontEndMaxMillisecondsBetweenMemorySamples": 10000,
- "frontEndMemoryThrottleThresholdSettings": "5,100,0;7,50,0;10,25,0;15,0,25;",
- "frontEndMinThreadPoolThreads": 1850,
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": 30,
- "frontEndThreadPoolBasedKeepAlivePercentage": 10.0,
- "frontEndUseSlaTimeInAvailability": true,
- "blobSvcContainerGcInterval": 3600000,
- "blobSvcShallowGcInterval": 3600000,
- "blobSvcStreamMapMinContainerOccupancyPercent": 80
- },
- "version": "1.0"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json
deleted file mode 100644
index 9f0a7bc3caa6..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json
+++ /dev/null
@@ -1,348 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (BlobService)",
- "value": "E2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobService)",
- "value": "ServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Availability (BlobService)",
- "value": "Availability"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total successful requests (BlobService)",
- "value": "SuccessfulRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total requests (BlobService)",
- "value": "TotalRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Ingress (BlobService)",
- "value": "Ingress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Egress (BlobService)",
- "value": "Egress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (BlobFrontEnd)",
- "value": "BlobFrontEndRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (BlobFrontEnd)",
- "value": "BlobFrontEndE2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobFrontEnd)",
- "value": "BlobFrontEndServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Concurrent requests (BlobFrontEnd)",
- "value": "BlobFrontEndConcurrentRequests"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (BlobFrontEnd)",
- "value": "BlobFrontEndRequestQueueLength"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (BlobFrontEnd)",
- "value": "BlobFrontEndProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (BlobServer)",
- "value": "BlobServerRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobServer)",
- "value": "BlobServerServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json
deleted file mode 100644
index 294e21053efb..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (BlobFrontEnd)",
- "value": "BlobFrontEndRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "End-to-end latency (BlobFrontEnd)",
- "value": "BlobFrontEndE2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (BlobFrontEnd)",
- "value": "BlobFrontEndServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Concurrent requests (BlobFrontEnd)",
- "value": "BlobFrontEndConcurrentRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (BlobFrontEnd)",
- "value": "BlobFrontEndRequestQueueLength"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (BlobFrontEnd)",
- "value": "BlobFrontEndProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (BlobServer)",
- "value": "BlobServerRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (BlobServer)",
- "value": "BlobServerServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 3.37839472205425,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 3.23720755548253,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 3.23283110690318,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 3.24997418164272,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 3.25500401782453,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 3.24891968824928,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 3.23743272199632,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (BlobService)",
- "value": "E2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 3.00302941330881,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 2.88515644890154,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2.8953629314371,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2.90971362786012,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2.9197896120973,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2.90887585146789,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2.89673016247954,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Server latency (BlobService)",
- "value": "ServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 100.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Availability (BlobService)",
- "value": "Availability"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 514291.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 553823.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 550283.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 590665.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 602316.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 592653.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 592690.0
- }
- ],
- "name": {
- "localizedValue": "Total successful requests (BlobService)",
- "value": "SuccessfulRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 525915.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 565447.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 561886.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 602269.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 613916.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 604253.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 604290.0
- }
- ],
- "name": {
- "localizedValue": "Total requests (BlobService)",
- "value": "TotalRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 1368310311.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 1404079959.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 1400057193.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 1445879884.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 1475166639.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 1463924092.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 1468371175.0
- }
- ],
- "name": {
- "localizedValue": "Ingress (BlobService)",
- "value": "Ingress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:02.3087124Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 1042768756.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 1140164863.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 902184482.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 1173363120.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 1184912696.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 1175637645.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 1175858765.0
- }
- ],
- "name": {
- "localizedValue": "Egress (BlobService)",
- "value": "Egress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json
deleted file mode 100644
index 17f7173515c8..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "share": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "operationId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Canceled",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- },
- "202": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Rollback",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json
deleted file mode 100644
index 1cd17ea41735..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "Intent": "Migration",
- "StartIndex": 0,
- "MaxCount": 1000,
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": [
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthrestrequestprocessed",
- "containerid": 22,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 2551603200,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthrestrequestaccept",
- "containerid": 23,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 2282553344,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "frphealthaccount",
- "containername": "azurestackhealthazssecurity",
- "containerid": 6,
- "accountid": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "usedBytesInPrimaryVolume": 880074752,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtsqueueresponse",
- "containerid": 30,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 560037888,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtsqueuerequest",
- "containerid": 26,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 541351936,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "hrphealthaccount",
- "containername": "azurestackhealthcentralmaeventtable",
- "containerid": 37,
- "accountid": "c2a6bdd19e404154afe27e2637e64ee1",
- "usedBytesInPrimaryVolume": 456925184,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthblobsvcrpcverbose",
- "containerid": 17,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 343273472,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "frphealthaccount",
- "containername": "azurestackhealthsystemperfcounter60s",
- "containerid": 7,
- "accountid": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "usedBytesInPrimaryVolume": 208580608,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtstableresponse",
- "containerid": 31,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 86974464,
- "containerState": "Active"
- },
- {
- "sharename": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "accountname": "srphealthaccount",
- "containername": "azurestackhealthtstablerequest",
- "containerid": 28,
- "accountid": "3fe86317cc0d40e0a0d4833641a64fdb",
- "usedBytesInPrimaryVolume": 85082112,
- "containerState": "Active"
- }
- ]
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json
deleted file mode 100644
index 3aad9bdbd061..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": []
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json
deleted file mode 100644
index d342940f86e3..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview",
- "migrationParameters": {
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareUncPath": "\\\\192.168.1.1\\DestinationShare"
- }
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Complete",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- },
- "202": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\\\192.168.1.1\\DestinationShare",
- "migrationStatus": "Active",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json
deleted file mode 100644
index d69c1287ff83..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "share": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "operationId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "jobId": "3ada6328-89ae-4263-8bfd-b76504a2bf66",
- "sourceShareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "storageAccountName": "StorageAccountName1",
- "containerName": "ContainerName1",
- "destinationShareName": "\\192.168.1.1",
- "migrationStatus": "Active",
- "subEntitiesCompleted": 165,
- "subEntitiesFailed": 5,
- "failureReason": ""
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json
deleted file mode 100644
index 841aa8f70f35..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview",
- "farmObject": {
- "properties": {
- "settingAccessString": "local"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json
deleted file mode 100644
index 6816ce27792f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json
deleted file mode 100644
index 21fb040c2211..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "operationId": "5ad334a7-4f51-141a-b52f-39a7df8d7033",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": "Failed?"
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json
deleted file mode 100644
index 4eb058df2035..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json
deleted file mode 100644
index b6074badfafd..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage",
- "value": "ProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Available memory",
- "value": "AvailableMemory"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json
deleted file mode 100644
index 0196e9d4b8ae..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json
+++ /dev/null
@@ -1,239 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage",
- "value": "ProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Available memory",
- "value": "AvailableMemory"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 389873692672.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 379637998762.66669,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 369550244352.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 359099803818.66669,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 348343386965.33331,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 338910678186.66669,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 330334962346.66669,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2338302955520.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2348538649429.3335,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2358626403840.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2369076844373.3335,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2379833261226.6665,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2389265970005.3335,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2397841685845.3335,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.14290632277436091,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.139154478510128,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.13545686075603133,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.13162630215189586,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.12768358940253569,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.12422607546738861,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.12108268816302059,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:03.1837713Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.857093677225639,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.86084552148987215,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.86454313924396864,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.86837369784810392,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.87231641059746445,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.8757739245326116,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.87891731183697941,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json
deleted file mode 100644
index b6d7923bdb15..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {},
- "202": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json
deleted file mode 100644
index 7e548541c6f9..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview",
- "farmObject": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "type": "Microsoft.Storage.Admin/farms",
- "location": "local",
- "properties": {
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "version": "2015-12-01-preview",
- "settingsStore": "AzS-ACS01.azurestack.local:19000",
- "settings": {
- "settingsPollingIntervalInSecond": 60,
- "retentionPeriodForDeletedStorageAccountsInDays": 0,
- "hostStyleHttpPort": 0,
- "hostStyleHttpsPort": 0,
- "corsAllowedOriginsList": "https://adminportal.local.azurestack.external/;https://adminportal.local.azurestack.external:12649/;https://portal.local.azurestack.external/;https://portal.local.azurestack.external:12649/",
- "dataCenterUriHostSuffixes": "local.azurestack.external",
- "bandwidthThrottleIsEnabled": false,
- "usageCollectionIntervalInSeconds": 10,
- "feedbackRefreshIntervalInSeconds": 10,
- "numberOfAccountsToSync": 20,
- "defaultThrottleProbabilityDecayIntervalInSeconds": 240,
- "gracePeriodForFullThrottlingInRefreshIntervals": 3,
- "gracePeriodMaxThrottleProbability": 0.9,
- "overallRequestThresholdInTps": 10000.0,
- "defaultRequestThresholdInTps": 200.0,
- "minimumRequestThresholdInTps": 1.0,
- "toleranceFactorForTps": 2.0,
- "overallIngressThresholdInGbps": 25.0,
- "defaultIngressThresholdInGbps": 2.0,
- "minimumIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIngress": 2.0,
- "overallIntranetIngressThresholdInGbps": 25.0,
- "defaultIntranetIngressThresholdInGbps": 2.0,
- "minimumIntranetIngressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetIngress": 2.0,
- "overallEgressThresholdInGbps": 30.0,
- "defaultEgressThresholdInGbps": 3.0,
- "minimumEgressThresholdInGbps": 0.0008,
- "toleranceFactorForEgress": 2.0,
- "overallIntranetEgressThresholdInGbps": 30.0,
- "defaultIntranetEgressThresholdInGbps": 3.0,
- "minimumIntranetEgressThresholdInGbps": 0.0008,
- "toleranceFactorForIntranetEgress": 2.0,
- "overallTotalIngressThresholdInGbps": 50.0,
- "defaultTotalIngressThresholdInGbps": 5.0,
- "minimumTotalIngressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalIngress": 2.0,
- "overallTotalEgressThresholdInGbps": 50.0,
- "defaultTotalEgressThresholdInGbps": 5.0,
- "minimumTotalEgressThresholdInGbps": 0.0008,
- "toleranceFactorForTotalEgress": 2.0
- }
- }
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json
deleted file mode 100644
index 66abbd5596b3..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": []
- }
- }
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json
deleted file mode 100644
index c2feb10ed55e..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/queueservices/default",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/default",
- "type": "Microsoft.Storage.Admin/farms/queueservices",
- "location": "local",
- "properties": {
- "settings": {
- "frontEndHttpListenPort": 11001,
- "frontEndHttpsListenPort": 11101,
- "frontEndCallbackThreadsCount": 1600,
- "frontEndCpuBasedKeepAliveThrottlingEnabled": true,
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": 90.0,
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": 2.0,
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": 5,
- "frontEndMemoryThrottlingEnabled": true,
- "frontEndMaxMillisecondsBetweenMemorySamples": 10000,
- "frontEndMemoryThrottleThresholdSettings": "5,100,0;7,50,0;10,25,0;15,0,25;",
- "frontEndMinThreadPoolThreads": 1850,
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": 30,
- "frontEndThreadPoolBasedKeepAlivePercentage": 10.0,
- "frontEndUseSlaTimeInAvailability": true
- },
- "version": "1.0"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json
deleted file mode 100644
index 27b3fa0a8ad8..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json
+++ /dev/null
@@ -1,282 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (QueueService)",
- "value": "E2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (QueueService)",
- "value": "ServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Availability (QueueService)",
- "value": "Availability"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total requests (QueueService)",
- "value": "TotalRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Ingress (QueueService)",
- "value": "Ingress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Egress (QueueService)",
- "value": "Egress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (QueueFrontEnd)",
- "value": "QueueFrontEndRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (QueueFrontEnd)",
- "value": "QueueFrontEndE2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (QueueFrontEnd)",
- "value": "QueueFrontEndServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Concurrent requests (QueueFrontEnd)",
- "value": "QueueFrontEndConcurrentRequests"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (QueueFrontEnd)",
- "value": "QueueFrontEndRequestQueueLength"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (QueueFrontEnd)",
- "value": "QueueFrontEndProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json
deleted file mode 100644
index fc52b57ae9c6..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json
+++ /dev/null
@@ -1,324 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (QueueFrontEnd)",
- "value": "QueueFrontEndRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "End-to-end latency (QueueFrontEnd)",
- "value": "QueueFrontEndE2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (QueueFrontEnd)",
- "value": "QueueFrontEndServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Concurrent requests (QueueFrontEnd)",
- "value": "QueueFrontEndConcurrentRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (QueueFrontEnd)",
- "value": "QueueFrontEndRequestQueueLength"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (QueueFrontEnd)",
- "value": "QueueFrontEndProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 1.88592776264484,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 1.85851217466339,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 1.87040051806059,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 1.90624102793048,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 1.93359342860519,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 1.91756062246845,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 1.90350660188966,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (QueueService)",
- "value": "E2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 1.81003101711863,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 1.78567652998375,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 1.79746391271282,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 1.83270876455636,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 1.85885443391132,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 1.84392369316924,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 1.82936276116956,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Server latency (QueueService)",
- "value": "ServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 100.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Availability (QueueService)",
- "value": "Availability"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 709694.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 706686.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 706644.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 707869.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 711097.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 711197.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 713652.0
- }
- ],
- "name": {
- "localizedValue": "Total requests (QueueService)",
- "value": "TotalRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 330187754.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 328237824.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 328220543.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 328897291.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 330626016.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 330693320.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 332315876.0
- }
- ],
- "name": {
- "localizedValue": "Ingress (QueueService)",
- "value": "Ingress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:24.5345914Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 179169105.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 178217533.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 178211569.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 178640382.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 179836179.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 179870886.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 180647853.0
- }
- ],
- "name": {
- "localizedValue": "Egress (QueueService)",
- "value": "Egress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json
deleted file mode 100644
index 28b75fe77346..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "quotaName": "TestCreateQuota",
- "api-version": "2015-12-01-preview",
- "quotaObject": {
- "properties": {
- "numberOfStorageAccounts": 10000,
- "capacityInGb": 1000
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.Storage.Admin/locations/local/quotas/TestCreateQuota",
- "name": "local/TestCreateQuota",
- "type": "Microsoft.Storage.Admin/locations/quotas",
- "location": "local",
- "properties": {
- "numberOfStorageAccounts": 10000,
- "capacityInGb": 1000
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json
deleted file mode 100644
index 63701114cbee..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "quotaName": "TestCreateQuota",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {},
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
deleted file mode 100644
index 6e845afce0db..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "quotaName": "TestCreateQuota",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.Storage.Admin/locations/local/quotas/TestCreateQuota",
- "name": "local/TestCreateQuota",
- "type": "Microsoft.Storage.Admin/locations/quotas",
- "location": "local",
- "properties": {
- "numberOfStorageAccounts": 20,
- "capacityInGb": 2048
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
deleted file mode 100644
index d88b9eb963c7..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "location": "local",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.Storage.Admin/locations/local/quotas/TestCreateQuota",
- "name": "local/TestCreateQuota",
- "type": "Microsoft.Storage.Admin/locations/quotas",
- "location": "local",
- "properties": {
- "numberOfStorageAccounts": 20,
- "capacityInGb": 2048
- }
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json
deleted file mode 100644
index 21044b068cb5..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/shares/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "type": "Microsoft.Storage.Admin/farms/shares",
- "location": "local",
- "properties": {
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "uncPath": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "totalCapacity": 2728176648192,
- "usedCapacity": 400509059072,
- "freeCapacity": 2327667589120,
- "healthStatus": "Healthy"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json
deleted file mode 100644
index e21e6a426129..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/shares/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/||SU1FileServer.azurestack.local|SU1_ObjStore",
- "type": "Microsoft.Storage.Admin/farms/shares",
- "location": "local",
- "properties": {
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "uncPath": "\\\\\\\\SU1FileServer.azurestack.local\\\\SU1_ObjStore",
- "totalCapacity": 2728176648192,
- "usedCapacity": 400509059072,
- "freeCapacity": 2327667589120,
- "healthStatus": "Healthy"
- }
- }
- ]
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json
deleted file mode 100644
index 8edc56a3e5bd..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json
deleted file mode 100644
index 6a97f4850111..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json
+++ /dev/null
@@ -1,218 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "shareName": "||SU1FileServer.azurestack.local|SU1_ObjStore",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2728176648192.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Total Capacity",
- "value": "TotalCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 389873692672.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 379637998762.66669,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 369550244352.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 359099803818.66669,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 348343386965.33331,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 338910678186.66669,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 330334962346.66669,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity",
- "value": "UsedCapacity"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 2338302955520.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 2348538649429.3335,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 2358626403840.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 2369076844373.3335,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 2379833261226.6665,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 2389265970005.3335,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 2397841685845.3335,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space",
- "value": "FreeSpace"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.14290632277436091,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.139154478510128,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.13545686075603133,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.13162630215189586,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.12768358940253569,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.12422607546738861,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.12108268816302059,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Used Capacity Percentage",
- "value": "UsedCapacityPercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:25.5502828Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 0.857093677225639,
- "timeStamp": "2018-01-29T00:00:00Z"
- },
- {
- "average": 0.86084552148987215,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 0.86454313924396864,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 0.86837369784810392,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 0.87231641059746445,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 0.8757739245326116,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 0.87891731183697941,
- "timeStamp": "2018-01-23T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Free Space Percentage",
- "value": "FreeSpacePercentage "
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json
deleted file mode 100644
index 0cad5ac1196e..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "api-version": "2015-12-01-preview",
- "summary": "false"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/f93c9df9e7af487fbda484a9201d9c18",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "f93c9df9e7af487fbda484a9201d9c18",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://authprod.blob.local.azurestack.external/",
- "queue": "https://authprod.queue.local.azurestack.external/",
- "table": "https://authprod.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/authprod",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "authprod",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T01:56:30.983"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json
deleted file mode 100644
index cf1c7933e60a..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json
+++ /dev/null
@@ -1,242 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "api-version": "2015-12-01-preview",
- "summary": "false"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/0180624c67694706a4066782d83057a5",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "0180624c67694706a4066782d83057a5",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://adminkvlclproddata004.blob.local.azurestack.external/",
- "queue": "https://adminkvlclproddata004.queue.local.azurestack.external/",
- "table": "https://adminkvlclproddata004.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local.adminkeyvault/providers/Microsoft.Storage/storageaccounts/adminkvlclproddata004",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "adminkvlclproddata004",
- "tenantResourceGroupName": "system.local.adminkeyvault",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "0180624c67694706a4066782d83057a5",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:27.41"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/04106a84393f4a12ab8efdbc0a69bb65",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "04106a84393f4a12ab8efdbc0a69bb65",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://adminkvlclproddata005.blob.local.azurestack.external/",
- "queue": "https://adminkvlclproddata005.queue.local.azurestack.external/",
- "table": "https://adminkvlclproddata005.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local.adminkeyvault/providers/Microsoft.Storage/storageaccounts/adminkvlclproddata005",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "adminkvlclproddata005",
- "tenantResourceGroupName": "system.local.adminkeyvault",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "04106a84393f4a12ab8efdbc0a69bb65",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:27.847"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/06e296e00b284f5cb5708dfabd6ad74c",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "06e296e00b284f5cb5708dfabd6ad74c",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://wasphealthaccount.blob.local.azurestack.external/",
- "queue": "https://wasphealthaccount.queue.local.azurestack.external/",
- "table": "https://wasphealthaccount.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/wasphealthaccount",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "wasphealthaccount",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "06e296e00b284f5cb5708dfabd6ad74c",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:12.47"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/0a6b4f6b1de14cc08aa1fefadcc481eb",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://frphealthaccount.blob.local.azurestack.external/",
- "queue": "https://frphealthaccount.queue.local.azurestack.external/",
- "table": "https://frphealthaccount.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/frphealthaccount",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "frphealthaccount",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "0a6b4f6b1de14cc08aa1fefadcc481eb",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:02.527"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/0d724e3f75004e48948c1bfa0b4a964a",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "0d724e3f75004e48948c1bfa0b4a964a",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://systemgallery.blob.local.azurestack.external/",
- "queue": "https://systemgallery.queue.local.azurestack.external/",
- "table": "https://systemgallery.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/systemgallery",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "systemgallery",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "0d724e3f75004e48948c1bfa0b4a964a",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T01:56:29.467"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/0dda0879146341178603ba151d7da010",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "0dda0879146341178603ba151d7da010",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://nrpeventsaccount.blob.local.azurestack.external/",
- "queue": "https://nrpeventsaccount.queue.local.azurestack.external/",
- "table": "https://nrpeventsaccount.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/nrpeventsaccount",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "nrpeventsaccount",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "0dda0879146341178603ba151d7da010",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:23.84"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/15612011f6094654abcb6031a4394ef5",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "15612011f6094654abcb6031a4394ef5",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://kvrphealthaccount.blob.local.azurestack.external/",
- "queue": "https://kvrphealthaccount.queue.local.azurestack.external/",
- "table": "https://kvrphealthaccount.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/kvrphealthaccount",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "kvrphealthaccount",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "15612011f6094654abcb6031a4394ef5",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:36.193"
- }
- },
- {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/storageaccounts/17829fa81c154239ad8a6fae05f44793",
- "type": "Microsoft.Storage.Admin/storageaccounts",
- "name": "17829fa81c154239ad8a6fae05f44793",
- "location": "local",
- "properties": {
- "provisioningState": "Succeeded",
- "primaryEndpoints": {
- "blob": "https://srpusageaccount.blob.local.azurestack.external/",
- "queue": "https://srpusageaccount.queue.local.azurestack.external/",
- "table": "https://srpusageaccount.table.local.azurestack.external/"
- },
- "primaryLocation": "local",
- "statusOfPrimary": "Available",
- "tenantViewId": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srpusageaccount",
- "tenantSubscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "tenantStorageAccountName": "srpusageaccount",
- "tenantResourceGroupName": "system.local",
- "currentOperation": "None",
- "acquisitionOperationCount": 0,
- "accountStatus": "Active",
- "permissions": "Full",
- "accountId": "17829fa81c154239ad8a6fae05f44793",
- "wacInternalState": "Active",
- "accountType": "Standard_LRS",
- "creationTime": "2018-01-17T02:10:15.38"
- }
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json
deleted file mode 100644
index d77de1a2e26f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "parameters": {},
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json
deleted file mode 100644
index d77de1a2e26f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "parameters": {},
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json
deleted file mode 100644
index b8ac3474da2c..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "accountId": "f93c9df9e7af487fbda484a9201d9c18",
- "api-version": "2015-12-01-preview",
- "summary": "false"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json
deleted file mode 100644
index 779bc9f7fe55..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/resourceGroups/System.local/providers/Microsoft.Storage.Admin/farms/3cf03497-c44a-4e51-a56f-3987d88c70af/tableservices/default",
- "name": "3cf03497-c44a-4e51-a56f-3987d88c70af/default",
- "type": "Microsoft.Storage.Admin/farms/tableservices",
- "location": "local",
- "properties": {
- "settings": {
- "frontEndHttpListenPort": 11002,
- "frontEndHttpsListenPort": 11102,
- "frontEndCallbackThreadsCount": 1600,
- "frontEndCpuBasedKeepAliveThrottlingEnabled": true,
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": 90.0,
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": 2.0,
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": 5,
- "frontEndMemoryThrottlingEnabled": true,
- "frontEndMaxMillisecondsBetweenMemorySamples": 10000,
- "frontEndMemoryThrottleThresholdSettings": "5,100,0;7,50,0;10,25,0;15,0,25;",
- "frontEndMinThreadPoolThreads": 1850,
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": 1500,
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": 30,
- "frontEndThreadPoolBasedKeepAlivePercentage": 10.0,
- "frontEndUseSlaTimeInAvailability": true
- },
- "version": "1.0"
- }
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json
deleted file mode 100644
index a9833dd670be..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json
+++ /dev/null
@@ -1,502 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (TableService)",
- "value": "E2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableService)",
- "value": "ServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Availability (TableService)",
- "value": "Availability"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Total requests (TableService)",
- "value": "TotalRequests"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Ingress (TableService)",
- "value": "Ingress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P1D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P10D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Egress (TableService)",
- "value": "Egress"
- },
- "primaryAggregationType": "Total",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (TableFrontEnd)",
- "value": "TableFrontEndRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (TableFrontEnd)",
- "value": "TableFrontEndE2ELatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableFrontEnd)",
- "value": "TableFrontEndServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Concurrent requests (TableFrontEnd)",
- "value": "TableFrontEndConcurrentRequests"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (TableFrontEnd)",
- "value": "TableFrontEndRequestQueueLength"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (TableFrontEnd)",
- "value": "TableFrontEndProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (TableMaster)",
- "value": "TableMasterRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Successful requests per second (TableMaster)",
- "value": "TableMasterSuccessfulRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Failed requests per second (TableMaster)",
- "value": "TableMasterFailedRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableMaster)",
- "value": "TableMasterServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (TableMaster)",
- "value": "TableMasterProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Requests per second (TableServer)",
- "value": "TableServerRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Successful requests per second (TableServer)",
- "value": "TableServerSuccessfulRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Failed requests per second (TableServer)",
- "value": "TableServerFailedRequestsPerSecond"
- },
- "primaryAggregationType": "Average",
- "unit": "CountPerSecond"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableServer)",
- "value": "TableServerServerLatency"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- },
- {
- "metricAvailabilities": [
- {
- "retention": "P10D",
- "timeGrain": "PT1M"
- },
- {
- "retention": "P30D",
- "timeGrain": "PT1H"
- },
- {
- "retention": "P60D",
- "timeGrain": "P1D"
- }
- ],
- "name": {
- "localizedValue": "Processor time percentage (TableServer)",
- "value": "TableServerProcessorTime"
- },
- "primaryAggregationType": "Average",
- "unit": "Count"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json
deleted file mode 100644
index eef9e85e1666..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json
+++ /dev/null
@@ -1,434 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
- "resourceGroupName": "System.local",
- "farmId": "3cf03497-c44a-4e51-a56f-3987d88c70af",
- "serviceType": "default",
- "api-version": "2015-12-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (TableFrontEnd)",
- "value": "TableFrontEndRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "End-to-end latency (TableFrontEnd)",
- "value": "TableFrontEndE2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (TableFrontEnd)",
- "value": "TableFrontEndServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Concurrent requests (TableFrontEnd)",
- "value": "TableFrontEndConcurrentRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "The count of pending requests in the request queue (TableFrontEnd)",
- "value": "TableFrontEndRequestQueueLength"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (TableFrontEnd)",
- "value": "TableFrontEndProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (TableMaster)",
- "value": "TableMasterRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Successful requests per second (TableMaster)",
- "value": "TableMasterSuccessfulRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Failed requests per second (TableMaster)",
- "value": "TableMasterFailedRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (TableMaster)",
- "value": "TableMasterServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (TableMaster)",
- "value": "TableMasterProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Requests per second (TableServer)",
- "value": "TableServerRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Successful requests per second (TableServer)",
- "value": "TableServerSuccessfulRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "CountPerSecond",
- "metricValues": [],
- "name": {
- "localizedValue": "Failed requests per second (TableServer)",
- "value": "TableServerFailedRequestsPerSecond"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Server latency (TableServer)",
- "value": "TableServerServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [],
- "name": {
- "localizedValue": "Processor time percentage (TableServer)",
- "value": "TableServerProcessorTime"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 7.29314082130133,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 7.29242044505202,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 7.45627809068669,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 7.30089294071398,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 7.72399956185191,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 7.60159978218237,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 7.47610318708534,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "End-to-end latency (TableService)",
- "value": "E2ELatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 6.35217701106319,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 6.33429027113238,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 6.48739451176727,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 6.32658791815646,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 6.7042208266394,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 6.63925794831982,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 6.49650197949997,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Server latency (TableService)",
- "value": "ServerLatency"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "average": 100.0,
- "timeStamp": "2018-01-23T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-24T00:00:00Z"
- },
- {
- "average": 99.9981206752038,
- "timeStamp": "2018-01-25T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-26T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-27T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-28T00:00:00Z"
- },
- {
- "average": 100.0,
- "timeStamp": "2018-01-29T00:00:00Z"
- }
- ],
- "name": {
- "localizedValue": "Availability (TableService)",
- "value": "Availability"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 269054.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 265771.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 266053.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 269687.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 276294.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 274176.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 279001.0
- }
- ],
- "name": {
- "localizedValue": "Total requests (TableService)",
- "value": "TotalRequests"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 511130540.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 503169523.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 507168827.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 568486028.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 700065592.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 690837578.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 695035903.0
- }
- ],
- "name": {
- "localizedValue": "Ingress (TableService)",
- "value": "Ingress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- },
- {
- "endTime": "2018-01-30T19:31:22.8313413Z",
- "metricUnit": "Count",
- "metricValues": [
- {
- "timeStamp": "2018-01-23T00:00:00Z",
- "total": 6755876285.0
- },
- {
- "timeStamp": "2018-01-24T00:00:00Z",
- "total": 6754791566.0
- },
- {
- "timeStamp": "2018-01-25T00:00:00Z",
- "total": 6756295607.0
- },
- {
- "timeStamp": "2018-01-26T00:00:00Z",
- "total": 6762121121.0
- },
- {
- "timeStamp": "2018-01-27T00:00:00Z",
- "total": 6787273660.0
- },
- {
- "timeStamp": "2018-01-28T00:00:00Z",
- "total": 6749797687.0
- },
- {
- "timeStamp": "2018-01-29T00:00:00Z",
- "total": 6790505524.0
- }
- ],
- "name": {
- "localizedValue": "Egress (TableService)",
- "value": "Egress"
- },
- "startTime": "2018-01-23T00:00:00Z",
- "timeGrain": "P1D"
- }
- ]
- }
- },
- "404": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
deleted file mode 100644
index 587563b84a40..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
+++ /dev/null
@@ -1,656 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}": {
- "put": {
- "x-ms-examples": {
- "Create a new storage farm.": {
- "$ref": "./examples/Farms/Create.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Create a new storage farm.",
- "operationId": "Farms_Create",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "description": "Parameters used to create a farm",
- "name": "farmObject",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FarmCreationProperties"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The new storage farm has been created.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- }
- },
- "get": {
- "x-ms-examples": {
- "Returns the Storage properties and settings for a specified storage farm.": {
- "$ref": "./examples/Farms/Get.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns the Storage properties and settings for a specified storage farm.",
- "operationId": "Farms_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The farm has been returned.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- },
- "patch": {
- "x-ms-examples": {
- "Update an existing storage farm.": {
- "$ref": "./examples/Farms/Update.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Update an existing storage farm.",
- "operationId": "Farms_Update",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "description": "Farm to update.",
- "name": "farmObject",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The properties and settings of storage farm have been updated.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for a storage farm.": {
- "$ref": "./examples/Farms/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns a list of metric definitions for a storage farm.",
- "operationId": "Farms_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of storage farm metrics.": {
- "$ref": "./examples/Farms/ListMetrics.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns a list of storage farm metrics.",
- "operationId": "Farms_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms": {
- "get": {
- "x-ms-examples": {
- "Returns a list of all storage farms.": {
- "$ref": "./examples/Farms/List.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "description": "Returns a list of all storage farms.",
- "operationId": "Farms_List",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage farms has been returned.",
- "schema": {
- "$ref": "#/definitions/FarmList"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc": {
- "post": {
- "x-ms-examples": {
- "Start garbage collection on deleted storage objects.": {
- "$ref": "./examples/Farms/StartGarbageCollection.json"
- }
- },
- "tags": [
- "Farms"
- ],
- "operationId": "Farms_StartGarbageCollection",
- "description": "Start garbage collection on deleted storage objects.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Garbage collection has completed."
- },
- "202": {
- "description": "ACCEPTED -- Garbage collection has started."
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}": {
- "get": {
- "x-ms-examples": {
- "Returns the state of the garbage collection job.": {
- "$ref": "./examples/Farms/GetGarbageCollectionState.json"
- }
- },
- "tags": [
- "GC"
- ],
- "operationId": "Farms_GetGarbageCollectionState",
- "description": "Returns the state of the garbage collection job.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/OperationIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The state of garbage collection has been returned.",
- "schema": {
- "type": "string"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm or garbage collection job can not be found."
- }
- }
- }
- }
- },
- "definitions": {
- "FarmList": {
- "description": "Pageable list of storage farms.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of storage farms.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Farm"
- }
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "FarmCreationProperties": {
- "description": "Storage farm properties.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage farm properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/SettingAccessString"
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "Farm": {
- "description": "Storage farm.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage farm properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FarmProperties"
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "FarmSettings": {
- "description": "Storage farm settings.",
- "type": "object",
- "properties": {
- "settingsPollingIntervalInSecond": {
- "description": "The polling interval (in second).",
- "type": "integer",
- "format": "int32"
- },
- "retentionPeriodForDeletedStorageAccountsInDays": {
- "description": "The retention period (in days) for deleted storage account.",
- "type": "integer",
- "format": "int32"
- },
- "hostStyleHttpPort": {
- "description": "Host style HTTP port.",
- "type": "integer",
- "format": "int32"
- },
- "hostStyleHttpsPort": {
- "description": "Host style HTTPs port.",
- "type": "integer",
- "format": "int32"
- },
- "corsAllowedOriginsList": {
- "description": "The list of allowed origins.",
- "type": "string"
- },
- "dataCenterUriHostSuffixes": {
- "description": "The suffixes of URI of hosts in data center.",
- "type": "string"
- },
- "bandwidthThrottleIsEnabled": {
- "description": "Switch of bandwidth throttle enablement.",
- "type": "boolean"
- },
- "usageCollectionIntervalInSeconds": {
- "description": "Interval (in seconds) of storage usage collection.",
- "type": "integer",
- "format": "int32"
- },
- "feedbackRefreshIntervalInSeconds": {
- "description": "Interval (in seconds) of feedback refresh.",
- "type": "integer",
- "format": "int32"
- },
- "numberOfAccountsToSync": {
- "description": "Number of accounts to sync.",
- "type": "integer",
- "format": "int32"
- },
- "defaultThrottleProbabilityDecayIntervalInSeconds": {
- "description": "Interval (in seconds) of default throttle probability decay.",
- "type": "integer",
- "format": "int32"
- },
- "gracePeriodForFullThrottlingInRefreshIntervals": {
- "description": "Grace period for full throttling in refresh intervals.",
- "type": "integer",
- "format": "int32"
- },
- "gracePeriodMaxThrottleProbability": {
- "description": "Maximum probability of throttle in grace period.",
- "type": "number",
- "format": "float"
- },
- "overallRequestThresholdInTps": {
- "description": "Overall request threshold (in TPS).",
- "type": "number",
- "format": "float"
- },
- "defaultRequestThresholdInTps": {
- "description": "Default request threshold (in TPS).",
- "type": "number",
- "format": "float"
- },
- "minimumRequestThresholdInTps": {
- "description": "Minimum request threshold (in TPS).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForTps": {
- "description": "Tolerance factor for TPS.",
- "type": "number",
- "format": "float"
- },
- "overallIngressThresholdInGbps": {
- "description": "Overall ingress threshold (in Gbps)",
- "type": "number",
- "format": "float"
- },
- "defaultIngressThresholdInGbps": {
- "description": "Default ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumIngressThresholdInGbps": {
- "description": "Minimum ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForIngress": {
- "description": "Tolerance factor for ingress.",
- "type": "number",
- "format": "float"
- },
- "overallIntranetIngressThresholdInGbps": {
- "description": "Overall Intranet ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultIntranetIngressThresholdInGbps": {
- "description": "Default Intranet ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumIntranetIngressThresholdInGbps": {
- "description": "Minimum Intranet ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForIntranetIngress": {
- "description": "Tolerance factor for Intranet ingress.",
- "type": "number",
- "format": "float"
- },
- "overallEgressThresholdInGbps": {
- "description": "Overall egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultEgressThresholdInGbps": {
- "description": "Default egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumEgressThresholdInGbps": {
- "description": "Minimum egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForEgress": {
- "description": "Tolerance factor for egress.",
- "type": "number",
- "format": "float"
- },
- "overallIntranetEgressThresholdInGbps": {
- "description": "Overall Intranet egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultIntranetEgressThresholdInGbps": {
- "description": "Default Intranet egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumIntranetEgressThresholdInGbps": {
- "description": "Minimum Intranet egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForIntranetEgress": {
- "description": "Tolerance factor for Intranet egress.",
- "type": "number",
- "format": "float"
- },
- "overallTotalIngressThresholdInGbps": {
- "description": "Overall total ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultTotalIngressThresholdInGbps": {
- "description": "Default total ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumTotalIngressThresholdInGbps": {
- "description": "Minimum total ingress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForTotalIngress": {
- "description": "Tolerance factor for total ingress.",
- "type": "number",
- "format": "float"
- },
- "overallTotalEgressThresholdInGbps": {
- "description": "Overall total egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "defaultTotalEgressThresholdInGbps": {
- "description": "Default total egress threshold (in Gbps).",
- "type": "number",
- "format": "float"
- },
- "minimumTotalEgressThresholdInGbps": {
- "description": "Minimum total egress threshold (in Gbp",
- "type": "number",
- "format": "float"
- },
- "toleranceFactorForTotalEgress": {
- "description": "Tolerance factor for total egress.",
- "type": "number",
- "format": "float"
- }
- }
- },
- "FarmProperties": {
- "description": "The properties of storage farm.",
- "type": "object",
- "properties": {
- "farmId": {
- "description": "Farm identifier.",
- "type": "string"
- },
- "version": {
- "description": "Resource version.",
- "type": "string"
- },
- "settingsStore": {
- "description": "The settings of storage farm.",
- "type": "string"
- },
- "settings": {
- "description": "The properties of storage farm.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FarmSettings"
- }
- }
- },
- "SettingAccessString": {
- "description": "Setting access string.",
- "type": "object",
- "properties": {
- "settingAccessString": {
- "description": "Setting access string.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {},
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
deleted file mode 100644
index a8c68ca4c60f..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}": {
- "get": {
- "x-ms-examples": {
- "Returns the queue service.": {
- "$ref": "./examples/QueueService/Get.json"
- }
- },
- "tags": [
- "QueueServices"
- ],
- "description": "Returns the queue service.",
- "operationId": "QueueServices_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Queue service has been returned.",
- "schema": {
- "$ref": "#/definitions/QueueService"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for queue service.": {
- "$ref": "./examples/QueueService/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "QueueServices"
- ],
- "description": "Returns a list of metric definitions for queue service.",
- "operationId": "QueueServices_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for the queue service.": {
- "$ref": "./examples/QueueService/ListMetrics.json"
- }
- },
- "tags": [
- "QueueServices"
- ],
- "description": "Returns a list of metrics for the queue service.",
- "operationId": "QueueServices_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "QueueServiceProperties": {
- "description": "Queue service properties.",
- "type": "object",
- "properties": {
- "settings": {
- "description": "Queue service settings.",
- "x-ms-client-flatten": true,
- "$ref": "storage.json#/definitions/WritableServiceSettings",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Service"
- }
- ]
- },
- "QueueService": {
- "description": "Queue service.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Queue service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/QueueServiceProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- }
- },
- "parameters": {},
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
deleted file mode 100644
index f047fdcf2d4d..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
+++ /dev/null
@@ -1,263 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}": {
- "put": {
- "x-ms-examples": {
- "Create or update an existing storage quota.": {
- "$ref": "./examples/Quotas/CreateOrUpdate.json"
- }
- },
- "tags": [
- "StorageQuotas"
- ],
- "description": "Create or update an existing storage quota.",
- "operationId": "StorageQuotas_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/LocationParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/QuotaNameParameter"
- },
- {
- "$ref": "#/parameters/StorgeQuotaParameters"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage quota has been created or updated.",
- "schema": {
- "$ref": "#/definitions/StorageQuota"
- }
- },
- "404": {
- "description": "NOT FOUND -- The location or quota was not found."
- }
- }
- },
- "delete": {
- "x-ms-examples": {
- "Delete an existing storage quota.": {
- "$ref": "./examples/Quotas/Delete.json"
- }
- },
- "tags": [
- "StorageQuotas"
- ],
- "description": "Delete an existing quota",
- "operationId": "StorageQuotas_Delete",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/LocationParameter"
- },
- {
- "$ref": "#/parameters/QuotaNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage quota has been deleted."
- },
- "404": {
- "description": "NOT FOUND -- The location or storage quota cannot be found."
- }
- }
- },
- "get": {
- "x-ms-examples": {
- "Returns the specified storage quota.": {
- "$ref": "./examples/Quotas/Get.json"
- }
- },
- "tags": [
- "StorageQuotas"
- ],
- "description": "Returns the specified storage quota.",
- "operationId": "StorageQuotas_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "storage.json#/parameters/LocationParameter"
- },
- {
- "$ref": "#/parameters/QuotaNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage quota has been returned.",
- "schema": {
- "$ref": "#/definitions/StorageQuota"
- }
- },
- "404": {
- "description": "NOT FOUND -- The location or storage quota cannot be found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas": {
- "get": {
- "x-ms-examples": {
- "Returns a list of storage quotas at the given location.": {
- "$ref": "./examples/Quotas/List.json"
- }
- },
- "tags": [
- "StorageQuotas"
- ],
- "description": "Returns a list of storage quotas at the given location.",
- "operationId": "StorageQuotas_List",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/LocationParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage quotas has been returned.",
- "schema": {
- "$ref": "#/definitions/StorageQuotaList"
- }
- },
- "404": {
- "description": "OK -- The location does not exist."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "StorageQuota": {
- "description": "Storage quota.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage quota properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/StorageQuotaProperties"
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "StorageQuotaProperties": {
- "description": "Storage quota properties.",
- "type": "object",
- "properties": {
- "numberOfStorageAccounts": {
- "description": "Total number of storage accounts.",
- "type": "integer",
- "format": "int32",
- "default": 20
- },
- "capacityInGb": {
- "description": "Maximum capacity (GB).",
- "type": "integer",
- "format": "int32",
- "default": 500
- }
- }
- },
- "StorageQuotaList": {
- "description": "Pageable list of storage quotas.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of storage quotas.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/StorageQuota"
- }
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "QuotaNameParameter": {
- "description": "The name of the storage quota.",
- "name": "quotaName",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "StorgeQuotaParameters": {
- "description": "The properties of quota being created or updated.",
- "name": "quotaObject",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/StorageQuota"
- },
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
deleted file mode 100644
index 4d978bc695cd..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
+++ /dev/null
@@ -1,278 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares": {
- "get": {
- "x-ms-examples": {
- "Returns a list of storage shares.": {
- "$ref": "./examples/Shares/List.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a list of storage shares.",
- "operationId": "Shares_List",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage shares has been returned.",
- "schema": {
- "$ref": "#/definitions/ShareList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for a storage share.": {
- "$ref": "./examples/Shares/ListMetrics.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a list of metrics for a storage share.",
- "operationId": "Shares_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm or share cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for a storage share.": {
- "$ref": "./examples/Shares/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a list of metric definitions for a storage share.",
- "operationId": "Shares_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm cannot be found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}": {
- "get": {
- "x-ms-examples": {
- "Returns a storage share.": {
- "$ref": "./examples/Shares/Get.json"
- }
- },
- "tags": [
- "Shares"
- ],
- "description": "Returns a storage share.",
- "operationId": "Shares_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ShareNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage share has been returned.",
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- "404": {
- "description": "NOT FOUND -- The farm or storage share cannot be found."
- }
- }
- }
- }
- },
- "definitions": {
- "Share": {
- "description": "Storage share.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Storage share properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ShareProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "ShareList": {
- "description": "List of storage shares.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Share"
- }
- },
- "ShareProperties": {
- "description": "Storage share properties.",
- "type": "object",
- "properties": {
- "shareName": {
- "description": "The name of the storage share.",
- "type": "string",
- "readOnly": true
- },
- "uncPath": {
- "description": "The UNC path to the storage share.",
- "type": "string",
- "readOnly": true
- },
- "totalCapacity": {
- "description": "The total capacity of the storage share in bytes.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "usedCapacity": {
- "description": "The used capacity of the storage share in bytes.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "freeCapacity": {
- "description": "The free space of the storage share in bytes.",
- "type": "integer",
- "format": "int64",
- "readOnly": true
- },
- "healthStatus": {
- "description": "The health status of the storage share.",
- "$ref": "storage.json#/definitions/HealthStatus",
- "readOnly": true
- }
- }
- }
- },
- "parameters": {},
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
deleted file mode 100644
index 087898639205..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
+++ /dev/null
@@ -1,570 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/providers/Microsoft.Storage.Admin/operations": {
- "get": {
- "x-ms-examples": {
- "Get the list of support rest operations.": {
- "$ref": "./examples/Operations/List.json"
- }
- },
- "description": "Get the list of support rest operations.",
- "tags": [
- "Commerce"
- ],
- "operationId": "Operations_List",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of operations has been returned.",
- "schema": {
- "$ref": "#/definitions/OperationList"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "WritableSettings": {
- "description": "Storage service settings.",
- "type": "object",
- "properties": {
- "frontEndCallbackThreadsCount": {
- "description": "Front end callback threads count.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndCpuBasedKeepAliveThrottlingEnabled": {
- "description": "Switch of front end CPU based keep-alive throttling.",
- "type": "boolean"
- },
- "frontEndCpuBasedKeepAliveThrottlingPercentCpuThreshold": {
- "description": "Threshold (% percentage) of front end CPU based keep-alive throttling.",
- "type": "number",
- "format": "float"
- },
- "frontEndCpuBasedKeepAliveThrottlingPercentRequestsToThrottle": {
- "description": "Threshold (% percentage) of requests to throttle in front end CPU based keep-alive throttling.",
- "type": "number",
- "format": "float"
- },
- "frontEndCpuBasedKeepAliveThrottlingCpuMonitorIntervalInSeconds": {
- "description": "Interval (in second) of CPU monitor for front end CPU based keep-alive throttling.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndMemoryThrottlingEnabled": {
- "description": "Switch of front end memory throttling.",
- "type": "boolean"
- },
- "frontEndMaxMillisecondsBetweenMemorySamples": {
- "description": "Maximum interval (in millisecond) between memory samples of front end.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndMemoryThrottleThresholdSettings": {
- "description": "Front end memory throttle threshold settings.",
- "type": "string"
- },
- "frontEndMinThreadPoolThreads": {
- "description": "Front end minimum number of threads in thread pool.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAliveIOCompletionThreshold": {
- "description": "Threshold of front end thread pool based keep-alive IO completion.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAliveWorkerThreadThreshold": {
- "description": "Threshold of front end thread pool based keep-alive worker thread.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAliveMonitorIntervalInSeconds": {
- "description": "Monitor interval (in seconds) of front end thread pool based keep-alive monitor.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndThreadPoolBasedKeepAlivePercentage": {
- "description": "Percentage (%) of front end thread pool based keep-alive.",
- "type": "number",
- "format": "float"
- },
- "frontEndUseSlaTimeInAvailability": {
- "description": "Switch of whether front end uses SLA time in availability.",
- "type": "boolean"
- }
- }
- },
- "WritableServiceSettings": {
- "description": "Settings of storage services.",
- "type": "object",
- "properties": {
- "frontEndHttpsListenPort": {
- "description": "The HTTPs port of the storage service front end.",
- "type": "integer",
- "format": "int32"
- },
- "frontEndHttpListenPort": {
- "description": "The HTTP port of the storage service front end.",
- "type": "integer",
- "format": "int32"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/WritableSettings"
- }
- ]
- },
- "LocalizableString": {
- "description": "Localizable string.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Value of the string.",
- "type": "string"
- },
- "localizedValue": {
- "description": "Localized value of the string.",
- "type": "string"
- }
- }
- },
- "MetricAvailability": {
- "description": "Metric availability.",
- "type": "object",
- "properties": {
- "timeGrain": {
- "description": "Time grain.",
- "type": "string"
- },
- "retention": {
- "description": "Retention of metric.",
- "type": "string"
- }
- }
- },
- "AggregateType": {
- "description": "Aggregate type.",
- "readOnly": true,
- "type": "string",
- "enum": [
- "None",
- "Average",
- "Total",
- "Minimum",
- "Maximum",
- "Last"
- ],
- "x-ms-enum": {
- "name": "AggregateType",
- "modelAsString": true
- }
- },
- "MetricUnit": {
- "description": "Metric unit.",
- "type": "string",
- "enum": [
- "Count",
- "Bytes",
- "Seconds",
- "CountPerSecond",
- "BytesPerSecond"
- ],
- "x-ms-enum": {
- "name": "MetricUnit",
- "modelAsString": true
- }
- },
- "MetricDefinition": {
- "description": "Metric definition.",
- "type": "object",
- "properties": {
- "name": {
- "description": "Metric name.",
- "$ref": "#/definitions/LocalizableString",
- "readOnly": true
- },
- "unit": {
- "description": "Metric unit.",
- "$ref": "#/definitions/MetricUnit",
- "readOnly": true
- },
- "primaryAggregationType": {
- "description": "Aggregation type of metric.",
- "$ref": "#/definitions/AggregateType",
- "readOnly": true
- },
- "metricAvailabilities": {
- "description": "Metric availabilities.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricAvailability"
- },
- "readOnly": true
- }
- }
- },
- "Metric": {
- "description": "Metric information.",
- "type": "object",
- "properties": {
- "name": {
- "description": "Metric Name.",
- "$ref": "#/definitions/LocalizableString",
- "readOnly": true
- },
- "metricUnit": {
- "description": "Metric Unit.",
- "$ref": "#/definitions/MetricUnit",
- "readOnly": true
- },
- "timeGrain": {
- "description": "Metric time grain.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "description": "Metric start time.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "endTime": {
- "description": "Metric end time.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "metricValues": {
- "description": "List of metric values.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricValue"
- },
- "readOnly": true
- }
- }
- },
- "MetricDefinitionList": {
- "description": "Pageable list of metric definitions.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of metric definitions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetricDefinition"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "MetricList": {
- "description": "Pageable list of metrics.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of metrics.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Metric"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "MetricValue": {
- "description": "Metric value.",
- "properties": {
- "timeStamp": {
- "description": "Timestamp of metric value.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "average": {
- "description": "Average value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "minimum": {
- "description": "Minimum value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "maximum": {
- "description": "Maximum value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "total": {
- "description": "Total value of metric.",
- "type": "number",
- "format": "float",
- "readOnly": true
- },
- "count": {
- "description": "Count of metric values.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "properties": {
- "description": "Metric value properties.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "HealthStatus": {
- "readOnly": true,
- "description": "Current health status.",
- "type": "string",
- "enum": [
- "Unknown",
- "Healthy",
- "Warning",
- "Critical"
- ],
- "x-ms-enum": {
- "name": "HealthStatus",
- "modelAsString": true
- }
- },
- "Resource": {
- "description": "Base resource object.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Resource ID.",
- "type": "string"
- },
- "name": {
- "description": "Resource Name.",
- "type": "string"
- },
- "type": {
- "description": "Resource type.",
- "type": "string"
- },
- "location": {
- "description": "Resource location.",
- "type": "string"
- },
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "x-ms-azure-resource": true
- },
- "Service": {
- "description": "Storage service.",
- "properties": {
- "version": {
- "description": "Storage service version.",
- "type": "string"
- },
- "healthStatus": {
- "description": "Health status of storage service.",
- "$ref": "#/definitions/HealthStatus"
- }
- }
- },
- "Operation": {
- "description": "Describes the supported REST operation.",
- "properties": {
- "name": {
- "description": "The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service.",
- "type": "string",
- "readOnly": true
- },
- "display": {
- "description": "Contains the localized display information for this particular operation / action.",
- "$ref": "#/definitions/Display",
- "readOnly": true
- }
- }
- },
- "Display": {
- "description": "Contains the localized display information for this particular operation / action.",
- "properties": {
- "provider": {
- "description": "The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
- "type": "string",
- "readOnly": true
- },
- "resource": {
- "description": "The localized friendly form of the resource type related to this action/operation – it should match the public documentation for the resource provider.",
- "type": "string",
- "readOnly": true
- },
- "operation": {
- "description": "The localized friendly name for the operation, as it should be shown to the user.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "OperationList": {
- "description": "Pageable list of supported operations.",
- "properties": {
- "value": {
- "description": "List of operations",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- }
- },
- "nextLink": {
- "description": "URI to the next page of operations.",
- "type": "string",
- "readOnly": true
- }
- }
- }
- },
- "parameters": {
- "ServiceTypeParameter": {
- "description": "The service type.",
- "name": "serviceType",
- "type": "string",
- "in": "path",
- "required": true,
- "enum": [
- "default"
- ],
- "x-ms-enum": {
- "name": "ServiceType",
- "modelAsString": true
- },
- "x-ms-parameter-location": "method"
- },
- "ShareNameParameter": {
- "description": "Share name.",
- "name": "shareName",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "FilterParameter": {
- "description": "Filter string",
- "name": "$filter",
- "type": "string",
- "in": "query",
- "x-ms-parameter-location": "method"
- },
- "LocationParameter": {
- "description": "Resource location.",
- "name": "location",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "SubscriptionIdParameter": {
- "description": "Subscription Id.",
- "name": "subscriptionId",
- "type": "string",
- "in": "path",
- "required": true
- },
- "FarmIdParameter": {
- "description": "Farm Id.",
- "type": "string",
- "name": "farmId",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "ApiVersionParameter": {
- "description": "REST Api Version.",
- "name": "api-version",
- "type": "string",
- "in": "query",
- "required": true
- },
- "ResourceGroupNameParameter": {
- "description": "Resource group name.",
- "name": "resourceGroupName",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "OperationIdParameter": {
- "description": "Operation Id.",
- "name": "operationId",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ]
-}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
deleted file mode 100644
index 7563995ee609..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
+++ /dev/null
@@ -1,441 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts": {
- "get": {
- "x-ms-examples": {
- "Returns a list of storage accounts.": {
- "$ref": "./examples/StorageAccounts/List.json"
- }
- },
- "tags": [
- "StorageAccounts"
- ],
- "operationId": "StorageAccounts_List",
- "description": "Returns a list of storage accounts.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SummaryParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of storage accounts has been returned.",
- "schema": {
- "$ref": "#/definitions/StorageAccountList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}": {
- "get": {
- "x-ms-examples": {
- "Returns the requested storage account.": {
- "$ref": "./examples/StorageAccounts/Get.json"
- }
- },
- "tags": [
- "StorageAccounts"
- ],
- "operationId": "StorageAccounts_Get",
- "description": "Returns the requested storage account.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "#/parameters/AccountIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The storage account has been returned.",
- "schema": {
- "$ref": "#/definitions/StorageAccount"
- }
- },
- "404": {
- "description": "NOT FOUND -- The storage account or farm was not found."
- }
- }
- },
- "post": {
- "x-ms-examples": {
- "Undelete a deleted storage account.": {
- "$ref": "./examples/StorageAccounts/Undelete.json"
- }
- },
- "tags": [
- "StorageAccounts"
- ],
- "operationId": "StorageAccounts_Undelete",
- "description": "Undelete a deleted storage account.",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "#/parameters/AccountIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Undelete either has been performed or account was not deleted."
- }
- }
- }
- }
- },
- "definitions": {
- "StorageAccountState": {
- "readOnly": true,
- "description": "Storage account state.",
- "type": "string",
- "enum": [
- "Creating",
- "Succeeded",
- "Suspended"
- ],
- "x-ms-enum": {
- "name": "StorageAccountState",
- "modelAsString": true
- }
- },
- "StorageAccountType": {
- "description": "Storage account type.",
- "type": "string",
- "enum": [
- "Standard_LRS",
- "Standard_GRS",
- "Standard_ZRS",
- "Standard_RAGRS",
- "Premium_LRS"
- ],
- "x-ms-enum": {
- "name": "StorageAccountType",
- "modelAsString": true
- }
- },
- "LocationStatus": {
- "readOnly": true,
- "type": "string",
- "description": "Gets the status indicating whether the primary location of the storage account is available or unavailable.",
- "enum": [
- "Available",
- "Unavailable"
- ],
- "x-ms-enum": {
- "name": "LocationStatus",
- "modelAsString": true
- }
- },
- "StorageAccountOperation": {
- "readOnly": true,
- "description": "The permissions of storage account in WAC.",
- "type": "string",
- "enum": [
- "None",
- "Create",
- "Update",
- "Suspend",
- "Delete",
- "Undelete"
- ],
- "x-ms-enum": {
- "name": "StorageAccountOperation",
- "modelAsString": true
- }
- },
- "StorageAccountStatus": {
- "description": "The state of storage account in WAC.",
- "type": "string",
- "enum": [
- "Active",
- "Deleted",
- "OutOfRetentionPeriod",
- "Recycled"
- ],
- "x-ms-enum": {
- "name": "StorageAccountStatus",
- "modelAsString": true
- }
- },
- "WacAccountPermissions": {
- "description": "Current operation being performed on Storage Account",
- "type": "string",
- "enum": [
- "Empty",
- "None",
- "Read",
- "Delete",
- "Write",
- "Full"
- ],
- "x-ms-enum": {
- "name": "WacAccountPermissions",
- "modelAsString": true
- }
- },
- "WacAccountStates": {
- "description": "Current operation being performed on Storage Account",
- "type": "string",
- "enum": [
- "None",
- "Active",
- "Deleted",
- "AboveQuota",
- "Suspended",
- "All"
- ],
- "x-ms-enum": {
- "name": "WacAccountStates",
- "modelAsString": true
- }
- },
- "StorageAccountProperties": {
- "description": "Properties of a storage account.",
- "type": "object",
- "properties": {
- "tenantViewId": {
- "description": "Resource URI of storage account from tenant view.",
- "type": "string",
- "readOnly": true
- },
- "accountType": {
- "description": "Storage account type.",
- "$ref": "#/definitions/StorageAccountType",
- "readOnly": true
- },
- "provisioningState": {
- "description": "The provisioning state of storage account.",
- "$ref": "#/definitions/StorageAccountState",
- "readOnly": true
- },
- "primaryEndpoints": {
- "description": "The URLs that are used to perform a retrieval of a public BLOB, queue, or table object.",
- "additionalProperties": {
- "type": "string"
- },
- "readOnly": true
- },
- "creationTime": {
- "description": "The creation date and time of storage account in UTC.",
- "type": "string",
- "readOnly": true
- },
- "alternateName": {
- "description": "Alternative storage account name being used during undelete operation.",
- "type": "string",
- "readOnly": true
- },
- "primaryLocation": {
- "description": "The primary location for the storage account.",
- "type": "string",
- "readOnly": true
- },
- "statusOfPrimary": {
- "description": "The status of primary location of storage account.",
- "$ref": "#/definitions/LocationStatus",
- "readOnly": true
- },
- "tenantSubscriptionId": {
- "description": "Subscription ID of the subscription under which the storage account locates.",
- "type": "string",
- "readOnly": true
- },
- "tenantStorageAccountName": {
- "description": "Storage account name from tenant view.",
- "type": "string",
- "readOnly": true
- },
- "tenantResourceGroupName": {
- "description": "The name of resource group under which the storage account locates.",
- "type": "string",
- "readOnly": true
- },
- "currentOperation": {
- "description": "Current operation being performed on Storage Account",
- "$ref": "#/definitions/StorageAccountOperation",
- "readOnly": true
- },
- "customDomain": {
- "description": "The custom domain the user assigned to this storage account.",
- "type": "string",
- "readOnly": true
- },
- "acquisitionOperationCount": {
- "description": "The count of acquisitions in the storage account.",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "deletedTime": {
- "description": "The date-time when the storage account was deleted.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "accountStatus": {
- "$ref": "#/definitions/StorageAccountStatus",
- "description": "The status of storage account."
- },
- "recoveredTime": {
- "description": "The time when the storage account is undeleted.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "recycledTime": {
- "description": "The time when the storage account is physically deleted.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "permissions": {
- "description": "The permissions on the storage account.",
- "$ref": "#/definitions/WacAccountPermissions",
- "readOnly": true
- },
- "accountId": {
- "description": "Internal storage account ID, which is not visible to tenant.",
- "type": "string",
- "readOnly": true
- },
- "wacInternalState": {
- "description": "The internal state of storage account in WAC.",
- "$ref": "#/definitions/WacAccountStates",
- "readOnly": true
- },
- "resourceAdminApiVersion": {
- "description": "Storage admin REST API version.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "StorageAccount": {
- "description": "Properties of the storage account.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Properties of the storage account.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/StorageAccountProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "StorageAccountList": {
- "description": "Pageable list of storage accounts.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of storage accounts.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/StorageAccount"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "URI to the next page.",
- "type": "string",
- "readOnly": true
- }
- }
- }
- },
- "parameters": {
- "AccountIdParameter": {
- "description": "Internal storage account ID, which is not visible to tenant.",
- "name": "accountId",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "SummaryParameter": {
- "description": "Switch for whether summary or detailed information is returned.",
- "name": "summary",
- "in": "query",
- "required": true,
- "type": "boolean",
- "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/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
deleted file mode 100644
index 044c0874eea1..000000000000
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2015-12-01-preview",
- "title": "StorageManagementClient",
- "description": "The Admin Storage Management Client."
- },
- "host": "adminmanagement.local.azurestack.external",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}": {
- "get": {
- "x-ms-examples": {
- "Returns the table service.": {
- "$ref": "./examples/TableService/Get.json"
- }
- },
- "tags": [
- "TableServices"
- ],
- "description": "Returns the table service.",
- "operationId": "TableServices_Get",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Table service has been returned.",
- "schema": {
- "$ref": "#/definitions/TableService"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metric definitions for table service.": {
- "$ref": "./examples/TableService/ListMetricDefinitions.json"
- }
- },
- "tags": [
- "TableServices"
- ],
- "description": "Returns a list of metric definitions for table service.",
- "operationId": "TableServices_ListMetricDefinitions",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metric definitions has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricDefinitionList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics": {
- "get": {
- "x-ms-examples": {
- "Returns a list of metrics for table service.": {
- "$ref": "./examples/TableService/ListMetrics.json"
- }
- },
- "tags": [
- "TableServices"
- ],
- "description": "Returns a list of metrics for table service.",
- "operationId": "TableServices_ListMetrics",
- "parameters": [
- {
- "$ref": "storage.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "storage.json#/parameters/FarmIdParameter"
- },
- {
- "$ref": "storage.json#/parameters/ServiceTypeParameter"
- },
- {
- "$ref": "storage.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- The list of metrics has been returned.",
- "schema": {
- "$ref": "storage.json#/definitions/MetricList"
- }
- },
- "404": {
- "description": "NOT FOUND -- The specified farm was not found."
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "TableService": {
- "description": "Table service.",
- "type": "object",
- "properties": {
- "properties": {
- "description": "Table service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/TableServiceProperties",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Resource"
- }
- ]
- },
- "TableServiceProperties": {
- "description": "Table service properties.",
- "type": "object",
- "properties": {
- "settings": {
- "description": "Table service settings.",
- "x-ms-client-flatten": true,
- "$ref": "storage.json#/definitions/WritableServiceSettings",
- "readOnly": true
- }
- },
- "allOf": [
- {
- "$ref": "storage.json#/definitions/Service"
- }
- ]
- }
- },
- "parameters": {},
- "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/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
index 0adabf8037e1..8d7705b67751 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
@@ -5,7 +5,7 @@
"title": "StorageManagementClient",
"description": "The Admin Storage Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/AsyncOperations/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/AsyncOperations/Get.json
new file mode 100644
index 000000000000..5585f839670a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/AsyncOperations/Get.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "asyncOperationId": "40cb64a9-e1b2-4915-b6af-30861fb3d01f",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json
index 05aede9aac06..f82831a862ce 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/Operations/List.json
@@ -5,7 +5,134 @@
"responses": {
"200": {
"body": {
- "value": []
+ "value": [
+ {
+ "name": "Microsoft.Storage.Admin/locations/quotas/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Quotas",
+ "operation": "List/Get Storage Quota(s)",
+ "description": "Gets a list of all Storage quota resources in the specified location."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/quotas/write",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Quotas",
+ "operation": "Create/Update Storage Quota",
+ "description": "Creates a Storage quota resource or modifies the quota values in the specified location."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/quotas/delete",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Quotas",
+ "operation": "Delete Storage Quota",
+ "description": "Deletes the given Storage quota resource from the specified location."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/operations/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Operations",
+ "operation": "List Available Operations",
+ "description": "Lists operations available on storage resource provider"
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/settings/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Settings",
+ "operation": "Get Storage Settings(s)",
+ "description": "Returns the settings of storage resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/settings/write",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Settings",
+ "operation": "Update Storage Settings",
+ "description": "Modifies the Storage settings."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/acquisitions/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Page Blob Acquisition",
+ "operation": "List/Get Storage Page Blob Acquisition(s)",
+ "description": "Gets or lists page blob acquisitions."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/storageAccounts/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Accounts",
+ "operation": "List/Get Storage Account(s)",
+ "description": "Returns the list of storage accounts or gets the properties for the specified storage account."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/storageAccounts/undelete/action",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Accounts",
+ "operation": "Undelete Storage Account",
+ "description": "Tries to recover a deleted storage account."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/reclaimstoragecapacity/action",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Accounts",
+ "operation": "Forces Storage Accounts Garbage Collection",
+ "description": "Forces garbage collection of all deleted storage accounts, regardless of the retention period setting."
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/StorageServices/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Services",
+ "operation": "List/Get Storage Service(s)",
+ "description": "List/Get Storage Service(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/StorageServices/write",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Services",
+ "operation": "Create/Update Storage Service",
+ "description": "Create/Update Storage Service"
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/locations/AsyncOperations/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Admin Async Operations",
+ "operation": "Query Async Operation Status",
+ "description": "Query Async Operation Status"
+ }
+ },
+ {
+ "name": "Microsoft.Storage.Admin/storageservices/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Storage",
+ "resource": "Storage Services",
+ "operation": "Get list of Microsoft Storage Services Metrics definitions",
+ "description": "Get list of Microsoft Storage Services Metrics definitions"
+ }
+ }
+ ]
}
}
}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Get.json
new file mode 100644
index 000000000000..32602a1c222f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Get.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "resourceGroup": "system.local",
+ "serviceName": "PageBlob",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListResourceGroup.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListResourceGroup.json
new file mode 100644
index 000000000000..7d0b86e2a57f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListResourceGroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "resourceGroup": "system.local",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "BlockBlob"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListSubscription.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListSubscription.json
new file mode 100644
index 000000000000..c5d5346a3f7d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/ListSubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "api-version": "2019-08-08-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "BlockBlob"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "Table"
+ }
+ },
+ {
+ "properties": {
+ "serviceName": "Queue"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Put.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Put.json
new file mode 100644
index 000000000000..08379c802bae
--- /dev/null
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/examples/StorageServices/Put.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "resourceGroup": "system.local",
+ "serviceName": "PageBlob",
+ "api-version": "2019-08-08-preview",
+ "storageServiceObject": {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "serviceName": "PageBlob"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
index 7155df97cde7..6a7bfc79d548 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/quotas.json
@@ -5,7 +5,7 @@
"title": "StorageManagementClient",
"description": "The Admin Storage Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
index 3f9431507cc3..9f8a9e4bc325 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
@@ -5,7 +5,7 @@
"title": "StorageManagementClient",
"description": "The Admin Storage Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
index 00f6b00027b6..7f09a86f4239 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
@@ -5,7 +5,7 @@
"title": "StorageManagementClient",
"description": "The Admin Storage Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -48,6 +48,205 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/asyncOperations/{asyncOperationId}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the async operation specified by asyncOperationId.": {
+ "$ref": "./examples/AsyncOperations/Get.json"
+ }
+ },
+ "tags": [
+ "AsyncOperations"
+ ],
+ "operationId": "AsyncOperations_Get",
+ "description": "Returns the async operation specified by asyncOperationId.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/AsyncOperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The async operation has been returned.",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationModel"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the storage services list under the specified resource group and subscription.": {
+ "$ref": "./examples/StorageServices/ListResourceGroup.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_ListRG",
+ "description": "Returns the storage services list under the specified resource group and subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of storage services has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageServiceList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/storageServices": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the storage services list under the specified subscription.": {
+ "$ref": "./examples/StorageServices/ListSubscription.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_ListSub",
+ "description": "Returns the storage services list under the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of storage services has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageServiceList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices/{serviceName}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified storage service.": {
+ "$ref": "./examples/StorageServices/Get.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_Get",
+ "description": "Returns the specified storage service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The specified storage service has been returned.",
+ "schema": {
+ "$ref": "#/definitions/StorageService"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create the specified storage resource.": {
+ "$ref": "./examples/StorageServices/Put.json"
+ }
+ },
+ "tags": [
+ "StorageServices"
+ ],
+ "operationId": "StorageServices_Create",
+ "description": "Create the specified storage resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The specified storage service has been created.",
+ "schema": {
+ "$ref": "#/definitions/StorageService"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -103,6 +302,141 @@
}
}
},
+ "ServiceNameProperties": {
+ "description": "The properties for service name.",
+ "type": "object",
+ "properties": {
+ "serviceName": {
+ "description": "Service Name for Storage Service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageService": {
+ "description": "MDM storage service resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties for service name.",
+ "$ref": "#/definitions/ServiceNameProperties",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "StorageServiceList": {
+ "description": "List for storage services.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageService"
+ }
+ },
+ "AsyncOperationModel": {
+ "description": "The async operation body for srp request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The operation id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationStartTime": {
+ "description": "Operation start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationEndTime": {
+ "description": "Operation end time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "Subscription id for async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locationHeader": {
+ "description": "Location header for async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatus": {
+ "description": "Http status for the async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "response": {
+ "description": "Response for the async operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "context": {
+ "description": "Operation context.",
+ "$ref": "#/definitions/OperationRequestContext",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Async operation content.",
+ "$ref": "#/definitions/AsyncOperation",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ }
+ }
+ },
+ "OperationRequestContext": {
+ "description": "Operation request context.",
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "description": "Operation api version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "activityId": {
+ "description": "Activity id for the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationName": {
+ "description": "Async operation name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorCode": {
+ "description": "Async operation error code if operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "runtimeException": {
+ "description": "Runtime exception if operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "Start time for the operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AsyncOperation": {
+ "description": "Async operation content",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Async operation name",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"ErrorResponse": {
"description": "The error response for request which failed.",
"type": "object",
@@ -181,7 +515,32 @@
"name": "subscriptionId",
"type": "string",
"in": "path",
- "required": true
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "AsyncOperationIdParameter": {
+ "description": "Async Operation Id.",
+ "name": "asyncOperationId",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "description": "Resource group name.",
+ "name": "resourceGroup",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "StorageServiceNameParameter": {
+ "description": "Storage service name.",
+ "name": "serviceName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
}
},
"securityDefinitions": {
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
index c8e3acc5fd4a..ec8df91cef15 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/storageaccounts.json
@@ -5,7 +5,7 @@
"title": "StorageManagementClient",
"description": "The Admin Storage Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -16,7 +16,7 @@
"application/json"
],
"paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageAccounts": {
"get": {
"x-ms-examples": {
"Returns a list of storage accounts.": {
@@ -64,7 +64,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts/{accountId}": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageAccounts/{accountId}": {
"get": {
"x-ms-examples": {
"Returns the requested storage account.": {
@@ -106,7 +106,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageaccounts/{accountId}/undelete": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/storageAccounts/{accountId}/undelete": {
"post": {
"x-ms-examples": {
"Undelete a deleted storage account.": {
diff --git a/specification/azsadmin/resource-manager/storage/readme.md b/specification/azsadmin/resource-manager/storage/readme.md
index ea224b5519a0..fece5a0a5986 100644
--- a/specification/azsadmin/resource-manager/storage/readme.md
+++ b/specification/azsadmin/resource-manager/storage/readme.md
@@ -39,23 +39,6 @@ input-file:
- "Microsoft.Storage.Admin/preview/2019-08-08/storage.json"
- "Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json"
```
-### Tag: package-2015-12-01
-
-These settings apply only when `--tag=package-2015-12-01` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-12-01'
-input-file:
- - "Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/quotas.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/storage.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/containers.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/farms.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/shares.json"
- - "Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json"
-```
---
# Code Generation
@@ -92,16 +75,6 @@ input-file:
- $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/settings.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/storage.json
- $(this-folder)/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
- - $(this-folder)/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
```
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json
index b6468c92f599..d853d4a06a40 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json
index 87d8aa58c438..e8596ab11404 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json
index 5972341c0599..11d3af7323ad 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json
index 82620bea3d15..e50ff99934f4 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json
index c71901bf8c87..434d8d0351fb 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
index ede98f5a13a7..7745eb8e3f9b 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
@@ -662,7 +662,7 @@
"Enabled"
],
"x-ms-enum": {
- "name": "ResourceDeletionPolicy",
+ "name": "LinkedAction",
"modelAsString": true,
"values": [
{
@@ -875,7 +875,7 @@
"Succeeded"
],
"x-ms-enum": {
- "name": "MetricPrimaryAggregationType",
+ "name": "ManifestProvisioningState",
"modelAsString": true,
"values": [
{
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json
index 5202360887df..9a8274ee999d 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json
index 067597e32dd3..0ec96a0839dc 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json
index 13be44918952..bfb93fd89323 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json
index 7e97868241e2..d1e97460e3cb 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
index 9add0b5d584a..bffa0b590686 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
@@ -5,7 +5,7 @@
"title": "SubscriptionsManagementClient",
"description": "The Admin Subscriptions Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json
index 34e7c0263594..0ff986279345 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json
@@ -5,7 +5,7 @@
"title": "UpdateAdminClient",
"description": "The Update Admin Management Client."
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateLocations.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateLocations.json
index 95a4080e8810..c474da053be9 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateLocations.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateLocations.json
@@ -5,7 +5,7 @@
"title": "UpdateAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json
index 139e3f2c4a32..717dd3144f28 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json
@@ -5,7 +5,7 @@
"title": "UpdateAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json
index b1416f114472..5f6b22fc4060 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Updates.json
@@ -5,7 +5,7 @@
"title": "UpdateAdminClient",
"version": "2016-05-01"
},
- "host": "adminmanagement.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/Get.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/Get.json
index 888e4c73c839..d7bbc4fd51b2 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/Get.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/Get.json
@@ -15,7 +15,6 @@
"location": "redmond",
"tags": {},
"properties": {
- "dateAvailable": "0001-01-01T00:00:00.0000000Z",
"installedDate": "2018-03-03T08:09:12.8824552Z",
"description": "MAS Update 1.0.180302.1",
"state": "Installed",
@@ -23,11 +22,8 @@
"minVersionRequired": "1.0.180103.2",
"packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft1.0.180302.1",
"packageSizeInMb": 2144,
- "updateName": "MAS - 1.0.180302.1",
"version": "1.0.180302.1",
- "updateOemFile": "",
- "publisher": "Microsoft",
- "packageType": "Microsoft"
+ "publisher": "Microsoft"
}
}
}
diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/List.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/List.json
index 0b1c72764eeb..c9d422dac525 100644
--- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/List.json
+++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/examples/Updates/List.json
@@ -16,7 +16,6 @@
"location": "redmond ",
"tags": {},
"properties": {
- "dateAvailable": "0001-01-01T00:00:00.0000000Z",
"installedDate": "2018-03-03T08:09:12.8824552Z",
"description": "MAS Update 1.0.180302.1",
"state": "Installed",
@@ -24,11 +23,8 @@
"minVersionRequired": "1.0.180103.2",
"packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft1.0.180302.1",
"packageSizeInMb": 2144,
- "updateName": "MAS - 1.0.180302.1",
"version": "1.0.180302.1",
- "updateOemFile": "",
- "publisher": "Microsoft",
- "packageType": "Microsoft"
+ "publisher": "Microsoft"
}
}
],
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Offer.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Offer.json
index afa844ed7f40..32cdcdec9cd1 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Offer.json
+++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Offer.json
@@ -5,7 +5,7 @@
"title": "SubscriptionClient",
"description": "The User Subscription Management Client."
},
- "host": "management.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
index 136704995de5..e47cd5146f23 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
+++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
@@ -5,7 +5,7 @@
"title": "SubscriptionClient",
"description": "The User Subscription Management Client."
},
- "host": "management.local.azurestack.external",
+ "host": "management.azure.com",
"schemes": [
"https"
],
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
new file mode 100644
index 000000000000..7c75b164d32d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsDelete.json
new file mode 100644
index 000000000000..70d242346303
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsGet.json
new file mode 100644
index 000000000000..13694bb304ba
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "databaseName": "*",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
new file mode 100644
index 000000000000..0f24190b0f4f
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterDetachFollowerDatabases.json
new file mode 100644
index 000000000000..c4556e78aaf6
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterDetachFollowerDatabases.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09",
+ "followerDatabaseToRemove": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4",
+ "attachedDatabaseConfigurationName": "myAttachedDatabaseConfiguration"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterListFollowerDatabases.json
new file mode 100644
index 000000000000..6b3cf2bc9cfc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterListFollowerDatabases.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1",
+ "databaseName": "*"
+ },
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration2",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4",
+ "databaseName": "db1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..bc646be4a25d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-11-09",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": {
+ "name": "kustoprincipal1",
+ "type": "Microsoft.Kusto/clusters/principalAssignments"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoprincipal1",
+ "nameAvailable": false,
+ "message": "Name 'kustoprincipal1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..f668b91f8a07
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..c6b7da68452b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..6af00e09fc43
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsList.json
new file mode 100644
index 000000000000..4667171d4fad
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClusterPrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersCheckNameAvailability.json
new file mode 100644
index 000000000000..5198047e8309
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-11-09",
+ "location": "wus",
+ "clusterName": {
+ "name": "kuskusprod",
+ "type": "Microsoft.Kusto/clusters"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kuskusprod",
+ "nameAvailable": false,
+ "message": "Name 'kuskusprod' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersCreateOrUpdate.json
new file mode 100644
index 000000000000..d80f6c2c21c2
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersCreateOrUpdate.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersDelete.json
new file mode 100644
index 000000000000..fbf0e38e79fc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersDiagnoseVirtualNetwork.json
new file mode 100644
index 000000000000..e10f6d33ead4
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersDiagnoseVirtualNetwork.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "findings": [
+ "Outbound dependency 'Storage:443' might not be satisfied (Outbound)"
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersGet.json
new file mode 100644
index 000000000000..1542233cbbb3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersList.json
new file mode 100644
index 000000000000..453a9efe1ba5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListByResourceGroup.json
new file mode 100644
index 000000000000..efc1aba35a40
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListResourceSkus.json
new file mode 100644
index 000000000000..e029a22a91f1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListResourceSkus.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D13_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L8s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L16s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListSkus.json
new file mode 100644
index 000000000000..927446c25c14
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersListSkus.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_D13_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "Standard_D14_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L8",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L16",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersStart.json
new file mode 100644
index 000000000000..3a037e05e28c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersStop.json
new file mode 100644
index 000000000000..3a037e05e28c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersUpdate.json
new file mode 100644
index 000000000000..e8dc5b266181
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoClustersUpdate.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionValidation.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionValidation.json
new file mode 100644
index 000000000000..055bd53137e1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionValidation.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "dataConnectionName": "DataConnections8",
+ "properties": {
+ "kind": "EventHub",
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "errorMessage": "event hub namespace does not exist"
+ },
+ {
+ "errorMessage": "database does not exist"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsCheckNameAvailability.json
new file mode 100644
index 000000000000..33ac5baa2429
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsCheckNameAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-11-09",
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoProd",
+ "databaseName": "KustoDatabase8",
+ "dataConnectionName": {
+ "name": "DataConnections8",
+ "type": "Microsoft.Kusto/clusters/databases/dataConnections"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "DataConnections8",
+ "nameAvailable": false,
+ "message": "Name 'DataConnections8' is already taken. Please specify a different name.",
+ "reason": "AlreadyExists"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsCreateOrUpdate.json
new file mode 100644
index 000000000000..d9a9b59ac931
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsCreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsDelete.json
new file mode 100644
index 000000000000..e2c7a7cb5b1f
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "dataConnectionName": "kustoeventhubconnection1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsGet.json
new file mode 100644
index 000000000000..7276657ec4ef
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "dataConnectionName": "DataConnections8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsListByDatabase.json
new file mode 100644
index 000000000000..e5cbff51b1fd
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsListByDatabase.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/KustoDataConnection8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/KustoDataConnection8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9/DataConnections/KustoDataConnection9",
+ "name": "KustoClusterRPTest4/KustoDatabase9/KustoDataConnection9",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns2/eventhubs/eventhubTest2",
+ "consumerGroup": "testConsumerGroup2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsUpdate.json
new file mode 100644
index 000000000000..d9a9b59ac931
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDataConnectionsUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseAddPrincipals.json
new file mode 100644
index 000000000000..c7de614bddd6
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseAddPrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-11-09",
+ "databasePrincipalsToAdd": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseListPrincipals.json
new file mode 100644
index 000000000000..1eb220b2f859
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseListPrincipals.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..e6f287da9463
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-11-09",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": {
+ "name": "kustoprincipal1",
+ "type": "Microsoft.Kusto/clusters/databases/principalAssignments"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoprincipal1",
+ "nameAvailable": false,
+ "message": "Name 'kustoprincipal1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..59d9c4834454
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..1bdc89a25c8f
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..41fa5202b178
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsList.json
new file mode 100644
index 000000000000..4667171d4fad
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasePrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2",
+ "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseRemovePrincipals.json
new file mode 100644
index 000000000000..a14cebead6e9
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabaseRemovePrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-11-09",
+ "databasePrincipalsToRemove": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesCheckNameAvailability.json
new file mode 100644
index 000000000000..04d05575f173
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-11-09",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoProd",
+ "resourceName": {
+ "name": "kuskus",
+ "type": "Microsoft.Kusto/clusters/databases"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kuskus",
+ "nameAvailable": false,
+ "message": "Name 'kuskus' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesCreateOrUpdate.json
new file mode 100644
index 000000000000..05f936adf26d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesCreateOrUpdate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesDelete.json
new file mode 100644
index 000000000000..44de91434533
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesGet.json
new file mode 100644
index 000000000000..d3013730aa7d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesListByCluster.json
new file mode 100644
index 000000000000..36d131008906
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesListByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-11-09"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesUpdate.json
new file mode 100644
index 000000000000..17ccaeca8f3c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoDatabasesUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-11-09",
+ "parameters": {
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoOperationsList.json
new file mode 100644
index 000000000000..5cd8be5ee6f5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/examples/KustoOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-29-11"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "provider": "providerName",
+ "resource": "resourceName",
+ "operation": "operationName",
+ "description": "operation description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json
new file mode 100644
index 000000000000..7e70bb6c6537
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json
@@ -0,0 +1,4036 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2019-11-09"
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ },
+ "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."
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The number of instances of the cluster."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed capacity.",
+ "type": "integer"
+ },
+ "default": {
+ "description": "The default capacity that would be used.",
+ "type": "integer"
+ }
+ },
+ "description": "Azure capacity definition."
+ },
+ "SkuDescriptionList": {
+ "description": "The list of the EngagementFabric SKU descriptions",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "SKU descriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuDescription"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuDescription": {
+ "description": "The Kusto SKU description of given resource type",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The tier of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The set of locations that the SKU is available",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Locations and zones",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfoItem"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "The restrictions because of which SKU cannot be used",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfoItem": {
+ "description": "The locations and zones info for SKU.",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "description": "The available location of the SKU.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "The available zone of the SKU.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSku": {
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "type": "string",
+ "enum": [
+ "Standard_DS13_v2+1TB_PS",
+ "Standard_DS13_v2+2TB_PS",
+ "Standard_DS14_v2+3TB_PS",
+ "Standard_DS14_v2+4TB_PS",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer"
+ },
+ "tier": {
+ "description": "SKU tier.",
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Azure SKU definition."
+ },
+ "Zones": {
+ "description": "An array represents the availability zones of the cluster.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "OptimizedAutoscale": {
+ "type": "object",
+ "required": [
+ "version",
+ "isEnabled",
+ "minimum",
+ "maximum"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of the template defined, for instance 1.",
+ "type": "integer"
+ },
+ "isEnabled": {
+ "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.",
+ "type": "boolean"
+ },
+ "minimum": {
+ "description": "Minimum allowed instances count.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed instances count.",
+ "type": "integer"
+ }
+ },
+ "description": "A class that contains the optimized auto scale definition."
+ },
+ "VirtualNetworkConfiguration": {
+ "type": "object",
+ "required": [
+ "subnetId",
+ "enginePublicIpId",
+ "dataManagementPublicIpId"
+ ],
+ "properties": {
+ "subnetId": {
+ "description": "The subnet resource id.",
+ "type": "string"
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string"
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string"
+ }
+ },
+ "description": "A class that contains virtual network definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
+ },
+ "clusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the cluster where the databases you would like to attach reside."
+ },
+ "attachedDatabaseNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
+ },
+ "defaultPrincipalsModificationKind": {
+ "type": "string",
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultPrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The default principals modification kind"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "isFollowed": {
+ "type": "string",
+ "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"
+ ],
+ "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"
+ ],
+ "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"
+ ],
+ "x-ms-enum": {
+ "name": "eventGridDataFormat",
+ "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."
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "eventHubResourceId",
+ "consumerGroup",
+ "tableName",
+ "dataFormat"
+ ],
+ "description": "Class representing the Kusto event grid connection properties."
+ },
+ "Cluster": {
+ "required": [
+ "sku"
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "zones": {
+ "$ref": "#/definitions/Zones",
+ "description": "The availability zones of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "The cluster properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the database",
+ "enum": [
+ "ReadWrite",
+ "ReadOnlyFollowing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database.",
+ "discriminator": "kind"
+ },
+ "ReadWriteDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadWriteDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read write database.",
+ "x-ms-discriminator-value": "ReadWrite"
+ },
+ "ReadOnlyFollowingDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read only following database.",
+ "x-ms-discriminator-value": "ReadOnlyFollowing"
+ },
+ "DatabasePrincipal": {
+ "type": "object",
+ "required": [
+ "name",
+ "role",
+ "type"
+ ],
+ "properties": {
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "DatabasePrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "A class representing database principal property."
+ },
+ "ClusterPrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Cluster principal role.",
+ "type": "string",
+ "enum": [
+ "AllDatabasesAdmin",
+ "AllDatabasesViewer"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterPrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "A class representing cluster principal property."
+ },
+ "DatabasePrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabasePrincipalProperties",
+ "description": "The database principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a database principal assignment."
+ },
+ "ClusterPrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterPrincipalProperties",
+ "description": "The cluster principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a cluster principal assignment."
+ },
+ "ClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The list of Kusto clusters."
+ }
+ },
+ "description": "The list Kusto clusters operation response."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of Kusto databases."
+ }
+ },
+ "description": "The list Kusto databases operation response."
+ },
+ "DatabasePrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The list of Kusto database principal assignments."
+ }
+ },
+ "description": "The list Kusto database principal assignments operation response."
+ },
+ "ClusterPrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The list of Kusto cluster principal assignments."
+ }
+ },
+ "description": "The list Kusto cluster principal assignments operation response."
+ },
+ "DatabasePrincipalListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "FollowerDatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The list of follower database result."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "DataConnection": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the endpoint for the data connection",
+ "enum": [
+ "EventHub",
+ "EventGrid",
+ "IotHub"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an data connection.",
+ "discriminator": "kind"
+ },
+ "DataConnectionValidationResult": {
+ "type": "object",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "A message which indicates a problem in data connection validation."
+ }
+ },
+ "description": "The result returned from a data connection validation request."
+ },
+ "DatabasePrincipalListRequest": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation request."
+ },
+ "FollowerDatabaseDefinition": {
+ "type": "object",
+ "required": [
+ "clusterResourceId",
+ "attachedDatabaseConfigurationName"
+ ],
+ "properties": {
+ "clusterResourceId": {
+ "type": "string",
+ "description": "Resource id of the cluster that follows a database owned by this cluster."
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "description": "Resource name of the attached database configuration in the follower cluster."
+ },
+ "databaseName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The database name owned by this cluster that was followed. * in case following all databases."
+ }
+ },
+ "description": "A class representing follower database request."
+ },
+ "DiagnoseVirtualNetworkResult": {
+ "properties": {
+ "findings": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of network connectivity diagnostic finding"
+ }
+ }
+ },
+ "DataConnectionValidation": {
+ "properties": {
+ "dataConnectionName": {
+ "type": "string",
+ "description": "The name of the data connection."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataConnection",
+ "description": "The data connection properties to validate."
+ }
+ },
+ "description": "Class representing an data connection validation."
+ },
+ "EventHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Event Hub data connection properties to validate.",
+ "$ref": "#/definitions/EventHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an event hub data connection.",
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "IotHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Iot Hub data connection properties.",
+ "$ref": "#/definitions/IotHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an iot hub data connection.",
+ "x-ms-discriminator-value": "IotHub"
+ },
+ "EventGridDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the Event Grid data connection.",
+ "$ref": "#/definitions/EventGridConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an Event Grid data connection.",
+ "x-ms-discriminator-value": "EventGrid"
+ },
+ "DataConnectionValidationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnectionValidationResult"
+ },
+ "description": "The list of Kusto data connection validation errors."
+ }
+ },
+ "description": "The list Kusto data connection validation result."
+ },
+ "DataConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The list of Kusto data connections."
+ }
+ },
+ "description": "The list Kusto data connections operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "An error response from Kusto."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "ClusterCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Cluster name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a cluster check name availability request."
+ },
+ "CheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases",
+ "Microsoft.Kusto/clusters/attachedDatabaseConfigurations"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a database check name availability request."
+ },
+ "ClusterPrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A principal assignment check name availability request."
+ },
+ "DataConnectionCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Data Connection name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/dataConnections"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A data connection check name availability request."
+ },
+ "DatabasePrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A principal assignment check name availability request."
+ },
+ "CheckNameResult": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Specifies a Boolean value that indicates if the name is available."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name that was checked."
+ },
+ "message": {
+ "type": "string",
+ "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated."
+ },
+ "reason": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "reason",
+ "modelAsString": true
+ },
+ "description": "Message providing the reason why the given name is invalid."
+ }
+ },
+ "description": "The result returned from a check name availability request."
+ },
+ "ListResourceSkusResult": {
+ "description": "List of available SKUs for a Kusto Cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureResourceSku"
+ },
+ "description": "The collection of available SKUs for an existing resource."
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for displaying in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "OperationListResult": {
+ "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "title": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete.",
+ "type": "string"
+ },
+ "resource": {
+ "title": "The resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "title": "The friendly name of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "title": "The intended executor of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "title": "Properties of the operation.",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Identity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The 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"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrincipalAssignmentNameParameter": {
+ "name": "principalAssignmentName",
+ "in": "path",
+ "description": "The name of the Kusto principalAssignment.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/readme.cli.md b/specification/azure-kusto/resource-manager/readme.cli.md
index 6ecf12a9e8c1..4cecfda46a2a 100644
--- a/specification/azure-kusto/resource-manager/readme.cli.md
+++ b/specification/azure-kusto/resource-manager/readme.cli.md
@@ -41,4 +41,10 @@ cli:
- name: KustoDataConnectionsDelete
- name: KustoDatabasesDelete
- name: KustoClustersDelete
+ - name: KustoDatabasePrincipalAssignmentsGet
+ - name: KustoDatabasePrincipalAssignmentsCreateOrUpdate
+ - name: KustoDatabasePrincipalAssignmentsDelete
+ - name: KustoClusterPrincipalAssignmentsGet
+ - name: KustoClusterPrincipalAssignmentsCreateOrUpdate
+ - name: KustoClusterPrincipalAssignmentsDelete
```
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index 11d57503dc16..6e4e9e08e8e5 100644
--- a/specification/azure-kusto/resource-manager/readme.go.md
+++ b/specification/azure-kusto/resource-manager/readme.go.md
@@ -17,6 +17,7 @@ batch:
- tag: package-2019-01-21
- tag: package-2019-05-15
- tag: package-2019-09-07
+ - tag: package-2019-11-09
```
### Tag: package-2018-09-07-preview and go
@@ -54,3 +55,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-11-09' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-11-09/$(namespace)
+```
diff --git a/specification/azure-kusto/resource-manager/readme.java.md b/specification/azure-kusto/resource-manager/readme.java.md
new file mode 100644
index 000000000000..d8a5cd934f22
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/readme.java.md
@@ -0,0 +1,85 @@
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.kusto
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-11-09
+```
+
+### Tag: package-2018-09-07-preview and java
+
+These settings apply only when `--tag=package-2018-09-07-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-09-07-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2018_09_07_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2018_09_07_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-01-21 and java
+
+These settings apply only when `--tag=package-2019-01-21 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-01-21' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2019_01_21
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_01_21
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-05-15 and java
+
+These settings apply only when `--tag=package-2019-05-15 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-05-15' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2019_05_15
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_05_15
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-09-07 and java
+
+These settings apply only when `--tag=package-2019-09-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-09-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2019_09_07
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_09_07
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-11-09 and java
+
+These settings apply only when `--tag=package-2019-11-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-11-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2019_11_09
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_11_09
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index ef739944f2eb..475e0ce20892 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -28,12 +28,16 @@ These are the global settings for the Kusto API.
title: KustoManagementClient
description: 'The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.'
openapi-type: arm
-tag: package-2019-09-07
-directive:
- - suppress: R2016
- from: kusto.json
- where: $.definitions.DataConnection.required
- reason: Implements kind which is required also in patch
+tag: package-2019-11-09
+```
+
+### Tag: package-2019-11-09
+
+These settings apply only when `--tag=package-2019-11-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-09'
+input-file:
+ - Microsoft.Kusto/stable/2019-11-09/kusto.json
```
### Tag: package-2019-09-07
@@ -167,79 +171,7 @@ csharp:
## Java
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-azure-arm: true
-fluent: true
-namespace: com.microsoft.azure.management.kusto
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2018-09-07-preview
- - tag: package-2019-01-21
- - tag: package-2019-05-15
- - tag: package-2019-09-07
-```
-
-### Tag: package-2018-09-07-preview and java
-
-These settings apply only when `--tag=package-2018-09-07-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2018-09-07-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.kusto.v2018_09_07_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2018_09_07_preview
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2019-01-21 and java
-
-These settings apply only when `--tag=package-2019-01-21 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2019-01-21' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.kusto.v2019_01_21
- output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_01_21
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2019-05-15 and java
-
-These settings apply only when `--tag=package-2019-05-15 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2019-05-15' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.kusto.v2019_05_15
- output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_05_15
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2019-09-07 and java
-
-These settings apply only when `--tag=package-2019-09-07 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2019-09-07' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.kusto.v2019_09_07
- output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2019_09_07
-regenerate-manager: true
-generate-interface: true
-```
+See configuration in [readme.java.md](./readme.java.md)
## Multi-API/Profile support for AutoRest v3 generators
@@ -253,6 +185,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Kusto/stable/2019-11-09/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-09-07/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-05-15/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-01-21/kusto.json
@@ -273,6 +206,14 @@ uncomment the `exclude-file` section below and add the file paths.
``` yaml
directive:
+ - suppress: R2016
+ from: kusto.json
+ where: $.definitions.DataConnection.required
+ reason: Discriminator kind is required also in patch
+ - suppress: R2016
+ 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/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
index 29848118296c..6afb591f359f 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
@@ -44,6 +44,86 @@
"nextLinkName": "nextLink"
}
}
+ },
+ "/providers/Microsoft.AzureStack/cloudManifestFiles": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the properties of a cloud specific manifest file with latest version.": {
+ "$ref": "examples/CloudManifestFile/List.json"
+ }
+ },
+ "tags": [
+ "AzureStack"
+ ],
+ "description": "Returns a cloud specific manifest JSON file with latest version.",
+ "operationId": "CloudManifestFile_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CloudManifestFileResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AzureStack/cloudManifestFiles/{verificationVersion}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the properties of a cloud specific manifest file.": {
+ "$ref": "examples/CloudManifestFile/Get.json"
+ }
+ },
+ "tags": [
+ "AzureStack"
+ ],
+ "description": "Returns a cloud specific manifest JSON file.",
+ "operationId": "CloudManifestFile_Get",
+ "parameters": [
+ {
+ "name": "verificationVersion",
+ "in": "path",
+ "description": "Signing verification key version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "versionCreationDate",
+ "in": "query",
+ "description": "Signing verification key version creation date.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CloudManifestFileResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -191,6 +271,68 @@
}
}
},
+ "CloudManifestFileResponse": {
+ "description": "Cloud specific manifest GET response.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Cloud specific manifest data.",
+ "$ref": "#/definitions/CloudManifestFileProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CloudManifestFileProperties": {
+ "description": "Cloud specific manifest JSON properties.",
+ "type": "object",
+ "properties": {
+ "deploymentData": {
+ "description": "Cloud specific manifest data.",
+ "$ref": "#/definitions/CloudManifestFileDeploymentData"
+ },
+ "signature": {
+ "description": "Signature of the cloud specific manifest data.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudManifestFileDeploymentData": {
+ "description": "Cloud specific manifest data for AzureStack deployment.",
+ "type": "object",
+ "properties": {
+ "externalDsmsCertificates": {
+ "description": "Dsms external certificates.",
+ "type": "string"
+ },
+ "customCloudVerificationKey": {
+ "description": "Signing verification public key.",
+ "type": "string"
+ },
+ "customEnvironmentEndpoints": {
+ "description": "Environment endpoints.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CloudManifestFileEnvironmentEndpoints"
+ }
+ }
+ },
+ "CloudManifestFileEnvironmentEndpoints": {
+ "description": "Cloud specific environment endpoints for AzureStack deployment.",
+ "type": "object",
+ "properties": {
+ "customCloudArmEndpoint": {
+ "description": "ARM endpoint.",
+ "type": "string"
+ },
+ "externalDsmsEndpoint": {
+ "description": "Dsms endpoint.",
+ "type": "string"
+ }
+ }
+ },
"ErrorDetails": {
"description": "The details of the error.",
"properties": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
index 9b093117a3fd..3bb41c7bff94 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json
@@ -143,6 +143,147 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/_all/GetProducts": {
+ "post": {
+ "x-ms-examples": {
+ "Returns a list of products.": {
+ "$ref": "examples/Product/ListPost.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns a list of products.",
+ "operationId": "Products_GetProducts",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeviceConfigurationParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/GetProduct": {
+ "post": {
+ "x-ms-examples": {
+ "Returns the specified product.": {
+ "$ref": "examples/Product/GetPost.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns the specified product.",
+ "operationId": "Products_GetProduct",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/DeviceConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Product"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/uploadProductLog": {
+ "post": {
+ "x-ms-examples": {
+ "Returns the specified product.": {
+ "$ref": "examples/Product/UploadLog.json"
+ }
+ },
+ "tags": [
+ "Product"
+ ],
+ "description": "Returns the specified product.",
+ "operationId": "Products_UploadLog",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/RegistrationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductNameParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MarketplaceProductLogUpdateParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductLog"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -408,9 +549,58 @@
"productProperties": {
"description": "Additional properties for the product.",
"$ref": "#/definitions/ProductProperties"
+ },
+ "compatibility": {
+ "description": "Product compatibility with current device.",
+ "$ref": "#/definitions/Compatibility"
+ }
+ }
+ },
+ "Compatibility": {
+ "description": "Product compatibility",
+ "type": "object",
+ "properties": {
+ "isCompatible": {
+ "description": "Tells if product is compatible with current device",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "Short error message if any compatibility issues are found",
+ "type": "string"
+ },
+ "description": {
+ "description": "Full error message if any compatibility issues are found",
+ "type": "string"
+ },
+ "issues": {
+ "description": "List of all issues found",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompatibilityIssue"
+ }
}
}
},
+ "CompatibilityIssue": {
+ "description": "Compatibility issue",
+ "type": "string",
+ "enum": [
+ "HigherDeviceVersionRequired",
+ "LowerDeviceVersionRequired",
+ "CapacityBillingModelRequired",
+ "PayAsYouGoBillingModelRequired",
+ "DevelopmentBillingModelRequired",
+ "AzureADIdentitySystemRequired",
+ "ADFSIdentitySystemRequired",
+ "ConnectionToInternetRequired",
+ "ConnectionToAzureRequired",
+ "DisconnectedEnvironmentRequired"
+ ],
+ "x-ms-enum": {
+ "name": "CompatibilityIssue",
+ "modelAsString": true
+ }
+ },
"IconUris": {
"description": "Links to product icons.",
"type": "object",
@@ -477,6 +667,114 @@
}
}
}
+ },
+ "DeviceConfiguration": {
+ "description": "Device Configuration.",
+ "properties": {
+ "deviceVersion": {
+ "description": "Version of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "identitySystem": {
+ "description": "Identity system of the device.",
+ "enum": [
+ "AzureAD",
+ "ADFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "category",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MarketplaceProductLogUpdate": {
+ "description": "Update details for product log.",
+ "properties": {
+ "operation": {
+ "description": "Operation to log.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Operation status to log.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "description": "Error related to the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Error details related to operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProductLog": {
+ "description": "Product action log.",
+ "properties": {
+ "id": {
+ "description": "Log ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productId": {
+ "description": "Logged product ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "Logged subscription ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "registrationName": {
+ "description": "Logged registration name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroupName": {
+ "description": "Logged resource group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Logged operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startDate": {
+ "description": "Operation start datetime.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endDate": {
+ "description": "Operation end datetime.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "description": "Operation error data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Operation error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
@@ -487,6 +785,26 @@
"in": "path",
"required": true,
"x-ms-parameter-location": "method"
+ },
+ "DeviceConfigurationParameter": {
+ "description": "Device configuration.",
+ "name": "deviceConfiguration",
+ "in": "body",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DeviceConfiguration"
+ }
+ },
+ "MarketplaceProductLogUpdateParameter": {
+ "description": "Update details for product log.",
+ "name": "marketplaceProductLogUpdate",
+ "in": "body",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/MarketplaceProductLogUpdate"
+ }
}
},
"securityDefinitions": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CloudManifestFile/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CloudManifestFile/Get.json
new file mode 100644
index 000000000000..7552a85e4d63
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CloudManifestFile/Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "verificationVersion": "latest",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.AzureStack/cloudManifestFiles/latest",
+ "name": "latest",
+ "type": "Microsoft.AzureStack/cloudManifestFiles",
+ "properties": {
+ "deploymentData": {
+ "externalDsmsCertificates": "",
+ "customCloudVerificationKey": "",
+ "customEnvironmentEndpoints": {
+ "customCloudArmEndpoint": "https://management.azure.microsoft.scloud/",
+ "externalDsmsEndpoint": "https://global-dsms.dsms.core.microsoft.scloud/dsms/issuercertificates"
+ }
+ },
+ "signature": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CloudManifestFile/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CloudManifestFile/List.json
new file mode 100644
index 000000000000..3c07c3d46355
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CloudManifestFile/List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.AzureStack/cloudManifestFiles/latest",
+ "name": "latest",
+ "type": "Microsoft.AzureStack/cloudManifestFiles",
+ "properties": {
+ "deploymentData": {
+ "externalDsmsCertificates": "",
+ "customCloudVerificationKey": "",
+ "customEnvironmentEndpoints": {
+ "customCloudArmEndpoint": "https://management.azure.microsoft.scloud/",
+ "externalDsmsEndpoint": "https://global-dsms.dsms.core.microsoft.scloud/dsms/issuercertificates"
+ }
+ },
+ "signature": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json
index 11a9af187566..03cb6984d239 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json
@@ -105,6 +105,16 @@
},
"origin": "user,system"
},
+ {
+ "name": "Microsoft.AzureStack/cloudManifestFiles/read",
+ "display": {
+ "provider": "Azure Stack Resource Provider.",
+ "resource": "Azure Stack Cloud Manifest File",
+ "operation": "Read Resource Provider Operations",
+ "description": "Gets the cloud specific manifest file."
+ },
+ "origin": "user,system"
+ },
{
"name": "Microsoft.AzureStack/Operations/read",
"display": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/GetPost.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/GetPost.json
new file mode 100644
index 000000000000..a26e3403bb63
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/GetPost.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "api-version": "2017-06-01",
+ "deviceConfiguration": {
+ "identitySystem": "AzureAD",
+ "deviceVersion": "1910.0.0.0"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "VM Access For Linux Extension",
+ "publisherDisplayName": "Microsoft Corp.",
+ "publisherIdentifier": "Microsoft.OSTCExtensions",
+ "offer": "",
+ "offerVersion": "",
+ "sku": "",
+ "vmExtensionType": "VMAccessForLinux",
+ "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7",
+ "iconUris": {
+ "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png"
+ },
+ "payloadLength": 46959,
+ "productKind": "virtualMachineExtension",
+ "productProperties": {
+ "version": "1.4.7"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/ListPost.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/ListPost.json
new file mode 100644
index 000000000000..8840a2d255e6
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/ListPost.json
@@ -0,0 +1,182 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "api-version": "2017-06-01",
+ "deviceConfiguration": {
+ "identitySystem": "AzureAD",
+ "deviceVersion": "1910.0.0.0"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "VM Access For Linux Extension",
+ "publisherDisplayName": "Microsoft Corp.",
+ "publisherIdentifier": "Microsoft.OSTCExtensions",
+ "offer": "",
+ "offerVersion": "",
+ "sku": "",
+ "vmExtensionType": "VMAccessForLinux",
+ "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7",
+ "iconUris": {
+ "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png"
+ },
+ "payloadLength": 46959,
+ "productKind": "virtualMachineExtension",
+ "productProperties": {
+ "version": "1.4.7"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepoint",
+ "name": "testregistration/dummysharepoint",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/dummysharepoint/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/dummysharepoint/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/dummysharepoint/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/dummysharepoint/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/dummysharepoint/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "1.0.1"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepointTest526",
+ "name": "testregistration/dummysharepointTest526",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/dummysharepointTest526/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/dummysharepointTest526/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/dummysharepointTest526/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/dummysharepointTest526/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/dummysharepointTest526/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "2.0.2"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d",
+ "name": "testregistration/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "Display name for dummy SharePoint",
+ "publisherDisplayName": "Publisher display name for dummy SharePoint",
+ "publisherIdentifier": "Katal",
+ "offer": "Dummy offer",
+ "offerVersion": "FakeProduct: offer version",
+ "sku": "Dummy sku",
+ "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Small.png"
+ },
+ "payloadLength": 4682158,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "1.0.1"
+ },
+ "compatibility": {
+ "isCompatible": true,
+ "message": "",
+ "description": "",
+ "issues": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/wordpress4-4",
+ "name": "testregistration/wordpress4-4",
+ "type": "Microsoft.AzureStack/registrations/products",
+ "properties": {
+ "displayName": "WordPress",
+ "publisherDisplayName": "WordPress",
+ "publisherIdentifier": "bitnami",
+ "offer": "wordpress",
+ "offerVersion": "1.0.8",
+ "sku": "4-4",
+ "galleryItemIdentity": "bitnami.wordpress4-4.1.0.8",
+ "iconUris": {
+ "hero": "https://extensions.azureedge.net/wordpress4-4/icons/Hero.png",
+ "large": "https://extensions.azureedge.net/wordpress4-4/icons/Large.png",
+ "wide": "https://extensions.azureedge.net/wordpress4-4/icons/Wide.png",
+ "medium": "https://extensions.azureedge.net/wordpress4-4/icons/Medium.png",
+ "small": "https://extensions.azureedge.net/wordpress4-4/icons/Small.png"
+ },
+ "payloadLength": 32212604365,
+ "productKind": "virtualMachine",
+ "productProperties": {
+ "version": "4.5.31"
+ },
+ "compatibility": {
+ "isCompatible": false,
+ "message": "AzureStack version '1910.0.0.0' is too low. Versions lower than '1911.0.0.0' are not supported",
+ "description": "AzureStack version '1910.0.0.0' is too low. Versions lower than '1911.0.0.0' are not supported",
+ "issues": [
+ "HigherDeviceVersionRequired"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/UploadLog.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/UploadLog.json
new file mode 100644
index 000000000000..8d29e414c3fa
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/UploadLog.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "resourceGroup": "azurestack",
+ "registrationName": "testregistration",
+ "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1",
+ "api-version": "2017-06-01",
+ "marketplaceProductLogUpdate": {
+ "operation": "Download",
+ "status": "Failed",
+ "error": "ExampleError",
+ "details": "ExampleDetails"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "details": "ExampleDetails",
+ "endDate": "01-02-2019 00:00:00",
+ "error": "ExampleError",
+ "operation": "Download",
+ "productId": "dummyProduct-1.1",
+ "registrationName": "TestCIRegistration007",
+ "resourceGroupName": "AzureStack007",
+ "startDate": "01-01-2019 00:00:00",
+ "status": "Failed",
+ "subscriptionId": "64D0A64B4F694EB4B0ED92BC34D98082"
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index 183fba95be23..d31ec1ce03e3 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -131,6 +131,9 @@ regenerate-manager: true
generate-interface: true
```
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/azurestack/resource-manager/readme.python.md b/specification/azurestack/resource-manager/readme.python.md
new file mode 100644
index 000000000000..c2339e41165a
--- /dev/null
+++ b/specification/azurestack/resource-manager/readme.python.md
@@ -0,0 +1,28 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.azurestack
+ package-name: azure-mgmt-azurestack
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack
+```
+
\ No newline at end of file
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
new file mode 100644
index 000000000000..d17352636002
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
@@ -0,0 +1,16638 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BatchService",
+ "version": "2019-08-01.10.0",
+ "description": "A client for issuing REST requests to the Azure Batch service.",
+ "x-ms-code-generation-settings": {
+ "name": "BatchServiceClient"
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{batchUrl}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/batchUrl"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json; odata=minimalmetadata"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ },
+ {
+ "api_key": []
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ },
+ "api_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "paths": {
+ "/applications": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Application_List",
+ "x-ms-examples": {
+ "List applications": {
+ "$ref": "./examples/ApplicationList.json"
+ }
+ },
+ "summary": "Lists all of the applications available in the specified Account.",
+ "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 applications can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of applications.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/applications/{applicationId}": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Application_Get",
+ "x-ms-examples": {
+ "Get applications": {
+ "$ref": "./examples/ApplicationGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Application.",
+ "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about Applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Application."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the application.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSummary"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/poolusagemetrics": {
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Pool_ListUsageMetrics",
+ "x-ms-examples": {
+ "Pool list usage metrics": {
+ "$ref": "./examples/PoolListUsageMetrics.json"
+ }
+ },
+ "summary": "Lists the usage metrics, aggregated by Pool across individual time intervals, for the specified Account.",
+ "description": "If you do not specify a $filter clause including a poolId, the response includes all Pools that existed in the Account in the time range of the returned aggregation intervals. If you do not specify a $filter clause including a startTime or endTime these filters default to the start and end times of the last aggregation interval currently available; that is, only the last aggregation interval is returned.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "starttime",
+ "x-ms-client-name": "startTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "The earliest time from which to include metrics. This must be at least two and a half hours before the current time. If not specified this defaults to the start time of the last aggregation interval currently available.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "endtime",
+ "x-ms-client-name": "endTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "The latest time from which to include metrics. This must be at least two hours before the current time. If not specified this defaults to the end time of the last aggregation interval currently available.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Pool usage details.",
+ "schema": {
+ "$ref": "#/definitions/PoolListUsageMetricsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/supportedimages": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Account_ListSupportedImages",
+ "x-ms-examples": {
+ "Account list node agent skus": {
+ "$ref": "./examples/AccountListSupportedImages.json"
+ }
+ },
+ "summary": "Lists all Virtual Machine Images supported by the Azure Batch service.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of supported Virtual Machine Images.",
+ "schema": {
+ "$ref": "#/definitions/AccountListSupportedImagesResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/nodecounts": {
+ "get": {
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Account_ListPoolNodeCounts",
+ "description": "Gets the number of Compute Nodes in each state, grouped by Pool.",
+ "x-ms-examples": {
+ "NodeCountsPayload": {
+ "$ref": "./examples/AccountListPoolNodeCounts.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 10,
+ "minimum": 1,
+ "maximum": 10,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "description": "The response contains the number of Compute Nodes in each Compute Node state, grouped by Pool.",
+ "schema": {
+ "$ref": "#/definitions/PoolNodeCountsListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/lifetimepoolstats": {
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_GetAllLifetimeStatistics",
+ "x-ms-examples": {
+ "Pool get lifetime statistics": {
+ "$ref": "./examples/PoolGetLifetimeStatistics.json"
+ }
+ },
+ "summary": "Gets lifetime summary statistics for all of the Pools in the specified Account.",
+ "description": "Statistics are aggregated across all Pools that have ever existed in the Account, from Account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Pool statistics for the lifetime of the Batch Account.",
+ "schema": {
+ "$ref": "#/definitions/PoolStatistics"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/lifetimejobstats": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_GetAllLifetimeStatistics",
+ "x-ms-examples": {
+ "Job get lifetime statistics": {
+ "$ref": "./examples/JobGetLifetimeStatistics.json"
+ }
+ },
+ "summary": "Gets lifetime summary statistics for all of the Jobs in the specified Account.",
+ "description": "Statistics are aggregated across all Jobs that have ever existed in the Account, from Account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Job statistics for the lifetime of the Batch Account.",
+ "schema": {
+ "$ref": "#/definitions/JobStatistics"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Add",
+ "x-ms-examples": {
+ "Certificate add": {
+ "$ref": "./examples/CertificateAdd.json"
+ }
+ },
+ "summary": "Adds a Certificate to the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "certificate",
+ "in": "body",
+ "description": "The Certificate to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Certificate_List",
+ "x-ms-examples": {
+ "Certificate list": {
+ "$ref": "./examples/CertificateList.json"
+ }
+ },
+ "summary": "Lists all of the Certificates that have been added to the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Certificates can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Certificates.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_CancelDeletion",
+ "x-ms-examples": {
+ "Certificate cancel delete": {
+ "$ref": "./examples/CertificateCancelDelete.json"
+ }
+ },
+ "summary": "Cancels a failed deletion of a Certificate from the specified Account.",
+ "description": "If you try to delete a Certificate that is being used by a Pool or Compute Node, the status of the Certificate changes to deleteFailed. If you decide that you want to continue using the Certificate, you can use this operation to set the status of the Certificate back to active. If you intend to delete the Certificate, you do not need to run this operation after the deletion failed. You must make sure that the Certificate is not being used by any resources, and then you can try again to delete the Certificate.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "thumbprintAlgorithm",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The algorithm used to derive the thumbprint parameter. This must be sha1."
+ },
+ {
+ "name": "thumbprint",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The thumbprint of the Certificate being deleted."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})": {
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Delete",
+ "x-ms-examples": {
+ "Certificate delete": {
+ "$ref": "./examples/CertificateDelete.json"
+ }
+ },
+ "summary": "Deletes a Certificate from the specified Account.",
+ "description": "You cannot delete a Certificate if a resource (Pool or Compute Node) is using it. Before you can delete a Certificate, you must therefore make sure that the Certificate is not associated with any existing Pools, the Certificate is not installed on any Nodes (even if you remove a Certificate from a Pool, it is not removed from existing Compute Nodes in that Pool until they restart), and no running Tasks depend on the Certificate. If you try to delete a Certificate that is in use, the deletion fails. The Certificate status changes to deleteFailed. You can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the Certificate.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "thumbprintAlgorithm",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The algorithm used to derive the thumbprint parameter. This must be sha1."
+ },
+ {
+ "name": "thumbprint",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The thumbprint of the Certificate to be deleted."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Get",
+ "x-ms-examples": {
+ "Certificate get": {
+ "$ref": "./examples/CertificateGet.json"
+ }
+ },
+ "description": "Gets information about the specified Certificate.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "thumbprintAlgorithm",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The algorithm used to derive the thumbprint parameter. This must be sha1."
+ },
+ {
+ "name": "thumbprint",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The thumbprint of the Certificate to get."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Certificate.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/files/{filePath}": {
+ "delete": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_DeleteFromTask",
+ "x-ms-examples": {
+ "File delete from task": {
+ "$ref": "./examples/FileDeleteFromTask.json"
+ }
+ },
+ "summary": "Deletes the specified Task file from the Compute Node where the Task ran.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose file you want to delete."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Task file or directory that you want to delete."
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetFromTask",
+ "x-ms-examples": {
+ "Get File From Task": {
+ "$ref": "./examples/FileGetFromTask.json"
+ }
+ },
+ "description": "Returns the content of the specified Task file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose file you want to retrieve."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Task file that you want to get the content of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-range",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "A response containing the file content.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetPropertiesFromTask",
+ "x-ms-examples": {
+ "File get properties from task": {
+ "$ref": "./examples/FileGetPropertiesFromTask.json"
+ }
+ },
+ "description": "Gets the properties of the specified Task file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose file you want to get the properties of."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Task file that you want to get the properties of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "A response containing the file properties."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/files/{filePath}": {
+ "delete": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_DeleteFromComputeNode",
+ "x-ms-examples": {
+ "File delete from node": {
+ "$ref": "./examples/FileDeleteFromNode.json"
+ }
+ },
+ "summary": "Deletes the specified file from the Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node from which you want to delete the file."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the file or directory that you want to delete."
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetFromComputeNode",
+ "x-ms-examples": {
+ "Get File From Compute Node": {
+ "$ref": "./examples/FileGetFromNode.json"
+ }
+ },
+ "description": "Returns the content of the specified Compute Node file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that contains the file."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Compute Node file that you want to get the content of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-range",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "The file content.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetPropertiesFromComputeNode",
+ "x-ms-examples": {
+ "File get properties from node": {
+ "$ref": "./examples/FileGetPropertiesFromNode.json"
+ }
+ },
+ "description": "Gets the properties of the specified Compute Node file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that contains the file."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Compute Node file that you want to get the properties of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "A response containing the file properties."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/files": {
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "File_ListFromTask",
+ "x-ms-examples": {
+ "File list from task": {
+ "$ref": "./examples/FileListFromTask.json"
+ }
+ },
+ "summary": "Lists the files in a Task's directory on its Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose files you want to list."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to list children of the Task directory. This parameter can be used in combination with the filter parameter to list specific type of files."
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of files.",
+ "schema": {
+ "$ref": "#/definitions/NodeFileListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/files": {
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "File_ListFromComputeNode",
+ "x-ms-examples": {
+ "File list from node": {
+ "$ref": "./examples/FileListFromNode.json"
+ }
+ },
+ "summary": "Lists all of the files in Task directories on the specified Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node whose files you want to list."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to list children of a directory."
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of files.",
+ "schema": {
+ "$ref": "#/definitions/NodeFileListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}": {
+ "head": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Exists",
+ "x-ms-examples": {
+ "Check Job Schedule Exists": {
+ "$ref": "./examples/JobScheduleExists.json"
+ }
+ },
+ "summary": "Checks the specified Job Schedule exists.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule which you want to check."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing headers related to the Job Schedule, if it exists."
+ },
+ "404": {
+ "description": "The Job Schedule does not exist."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Delete",
+ "x-ms-examples": {
+ "JobSchedule delete": {
+ "$ref": "./examples/JobScheduleDelete.json"
+ }
+ },
+ "summary": "Deletes a Job Schedule from the specified Account.",
+ "description": "When you delete a Job Schedule, this also deletes all Jobs and Tasks under that schedule. When Tasks are deleted, all the files in their working directories on the Compute Nodes are also deleted (the retention period is ignored). The Job Schedule statistics are no longer accessible once the Job Schedule is deleted, though they are still counted towards Account lifetime statistics.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Get",
+ "x-ms-examples": {
+ "JobSchedule get": {
+ "$ref": "./examples/JobScheduleGet.json"
+ }
+ },
+ "description": "Gets information about the specified Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to get."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Job Schedule.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobSchedule"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Patch",
+ "x-ms-examples": {
+ "JobSchedule patch": {
+ "$ref": "./examples/JobSchedulePatch.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job Schedule.",
+ "description": "This replaces only the Job Schedule properties specified in the request. For example, if the schedule property is not specified with this request, then the Batch service will keep the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to update."
+ },
+ {
+ "name": "jobSchedulePatchParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobSchedulePatchParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Update",
+ "x-ms-examples": {
+ "JobSchedule update": {
+ "$ref": "./examples/JobScheduleUpdate.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job Schedule.",
+ "description": "This fully replaces all the updatable properties of the Job Schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to update."
+ },
+ {
+ "name": "jobScheduleUpdateParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobScheduleUpdateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/disable": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Disable",
+ "x-ms-examples": {
+ "JobSchedule disable": {
+ "$ref": "./examples/JobScheduleDisable.json"
+ }
+ },
+ "summary": "Disables a Job Schedule.",
+ "description": "No new Jobs will be created until the Job Schedule is enabled again.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to disable."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/enable": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Enable",
+ "x-ms-examples": {
+ "JobSchedule enable": {
+ "$ref": "./examples/JobScheduleEnable.json"
+ }
+ },
+ "summary": "Enables a Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to enable."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/terminate": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Terminate",
+ "x-ms-examples": {
+ "JobSchedule terminate": {
+ "$ref": "./examples/JobScheduleTerminate.json"
+ }
+ },
+ "summary": "Terminates a Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to terminates."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Add",
+ "x-ms-examples": {
+ "Add a basic JobSchedule": {
+ "$ref": "./examples/JobScheduleAdd_Basic.json"
+ },
+ "Add a complex JobScheduleAdd": {
+ "$ref": "./examples/JobScheduleAdd_Complex.json"
+ }
+ },
+ "summary": "Adds a Job Schedule to the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "cloudJobSchedule",
+ "in": "body",
+ "description": "The Job Schedule to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobScheduleAddParameter"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "JobSchedule_List",
+ "x-ms-examples": {
+ "JobSchedule list": {
+ "$ref": "./examples/JobScheduleList.json"
+ }
+ },
+ "summary": "Lists all of the Job Schedules in the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Job Schedules can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Job Schedules.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobScheduleListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}": {
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Delete",
+ "x-ms-examples": {
+ "Delete Job": {
+ "$ref": "./examples/JobDelete.json"
+ }
+ },
+ "summary": "Deletes a Job.",
+ "description": "Deleting a Job also deletes all Tasks that are part of that Job, and all Job statistics. This also overrides the retention period for Task data; that is, if the Job contains Tasks which are still retained on Compute Nodes, the Batch services deletes those Tasks' working directories and all their contents. When a Delete Job request is received, the Batch service sets the Job to the deleting state. All update operations on a Job that is in deleting state will fail with status code 409 (Conflict), with additional information indicating that the Job is being deleted.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Get",
+ "x-ms-examples": {
+ "Job get": {
+ "$ref": "./examples/JobGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Job.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Job.",
+ "schema": {
+ "$ref": "#/definitions/CloudJob"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Patch",
+ "x-ms-examples": {
+ "Job patch": {
+ "$ref": "./examples/JobPatch.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job.",
+ "description": "This replaces only the Job properties specified in the request. For example, if the Job has constraints, and a request does not specify the constraints element, then the Job keeps the existing constraints.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job whose properties you want to update."
+ },
+ {
+ "name": "jobPatchParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobPatchParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Update",
+ "x-ms-examples": {
+ "Job update": {
+ "$ref": "./examples/JobUpdate.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job.",
+ "description": "This fully replaces all the updatable properties of the Job. For example, if the Job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job whose properties you want to update."
+ },
+ {
+ "name": "jobUpdateParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobUpdateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/disable": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Disable",
+ "x-ms-examples": {
+ "Job disable": {
+ "$ref": "./examples/JobDisable.json"
+ }
+ },
+ "summary": "Disables the specified Job, preventing new Tasks from running.",
+ "description": "The Batch Service immediately moves the Job to the disabling state. Batch then uses the disableTasks parameter to determine what to do with the currently running Tasks of the Job. The Job remains in the disabling state until the disable operation is completed and all Tasks have been dealt with according to the disableTasks option; the Job then moves to the disabled state. No new Tasks are started under the Job until it moves back to active state. If you try to disable a Job that is in any state other than active, disabling, or disabled, the request fails with status code 409.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to disable."
+ },
+ {
+ "name": "jobDisableParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobDisableParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/enable": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Enable",
+ "x-ms-examples": {
+ "Job enable": {
+ "$ref": "./examples/JobEnable.json"
+ }
+ },
+ "summary": "Enables the specified Job, allowing new Tasks to run.",
+ "description": "When you call this API, the Batch service sets a disabled Job to the enabling state. After the this operation is completed, the Job moves to the active state, and scheduling of new Tasks under the Job resumes. The Batch service does not allow a Task to remain in the active state for more than 180 days. Therefore, if you enable a Job containing active Tasks which were added more than 180 days ago, those Tasks will not run.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to enable."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/terminate": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Terminate",
+ "x-ms-examples": {
+ "Job terminate": {
+ "$ref": "./examples/JobTerminate.json"
+ }
+ },
+ "summary": "Terminates the specified Job, marking it as completed.",
+ "description": "When a Terminate Job request is received, the Batch service sets the Job to the terminating state. The Batch service then terminates any running Tasks associated with the Job and runs any required Job release Tasks. Then the Job moves into the completed state. If there are any Tasks in the Job in the active state, they will remain in the active state. Once a Job is terminated, new Tasks cannot be added and any remaining active Tasks will not be scheduled.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to terminate."
+ },
+ {
+ "name": "jobTerminateParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/JobTerminateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Add",
+ "x-ms-examples": {
+ "Add a basic job": {
+ "$ref": "./examples/JobAdd_Basic.json"
+ },
+ "Add a complex job": {
+ "$ref": "./examples/JobAdd_Complex.json"
+ }
+ },
+ "summary": "Adds a Job to the specified Account.",
+ "description": "The Batch service supports two ways to control the work done as part of a Job. In the first approach, the user specifies a Job Manager Task. The Batch service launches this Task when it is ready to start the Job. The Job Manager Task controls all other Tasks that run under this Job, by using the Task APIs. In the second approach, the user directly controls the execution of Tasks under an active Job, by using the Task APIs. Also note: when naming Jobs, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "job",
+ "in": "body",
+ "description": "The Job to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Job_List",
+ "x-ms-examples": {
+ "Job list": {
+ "$ref": "./examples/JobList.json"
+ }
+ },
+ "summary": "Lists all of the Jobs in the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Jobs.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "x-ms-examples": {
+ "List Job Under Job Schedule": {
+ "$ref": "./examples/JobListFromJobSchedule.json"
+ }
+ },
+ "operationId": "Job_ListFromJobSchedule",
+ "summary": "Lists the Jobs that have been created under the specified Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule from which you want to get a list of Jobs."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Jobs.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/jobpreparationandreleasetaskstatus": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Job_ListPreparationAndReleaseTaskStatus",
+ "x-ms-examples": {
+ "Job list preparation and release task status": {
+ "$ref": "./examples/JobListPreparationAndReleaseTaskStatus.json"
+ }
+ },
+ "summary": "Lists the execution status of the Job Preparation and Job Release Task for the specified Job across the Compute Nodes where the Job has run.",
+ "description": "This API returns the Job Preparation and Job Release Task status on all Compute Nodes that have run the Job Preparation or Job Release Task. This includes Compute Nodes which have since been removed from the Pool. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing a list of Job Preparation and Job Release Task statuses.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobListPreparationAndReleaseTaskStatusResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/taskcounts": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_GetTaskCounts",
+ "x-ms-examples": {
+ "Job get task counts": {
+ "$ref": "./examples/JobGetTaskCounts.json"
+ }
+ },
+ "summary": "Gets the Task counts for the specified Job.",
+ "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "description": "A response containing the Task counts for the specified Job.",
+ "schema": {
+ "$ref": "#/definitions/TaskCounts"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Add",
+ "x-ms-examples": {
+ "Add a CloudServiceConfiguration pool": {
+ "$ref": "./examples/PoolAdd_CloudServiceConfiguration.json"
+ },
+ "Add a VirtualMachineConfiguration pool": {
+ "$ref": "./examples/PoolAdd_VirtualMachineConfiguration.json"
+ },
+ "Add a VirtualMachineConfiguration pool with containers": {
+ "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithContainers.json"
+ },
+ "Add a pool with mount drive specified": {
+ "$ref": "./examples/PoolAdd_MountConfiguration.json"
+ }
+ },
+ "summary": "Adds a Pool to the specified Account.",
+ "description": "When naming Pools, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "pool",
+ "in": "body",
+ "description": "The Pool to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Pool_List",
+ "x-ms-examples": {
+ "Pool list": {
+ "$ref": "./examples/PoolList_Basic.json"
+ }
+ },
+ "summary": "Lists all of the Pools in the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Pools can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Pools.",
+ "schema": {
+ "$ref": "#/definitions/CloudPoolListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}": {
+ "delete": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Delete",
+ "x-ms-examples": {
+ "Pool delete": {
+ "$ref": "./examples/PoolDelete.json"
+ }
+ },
+ "summary": "Deletes a Pool from the specified Account.",
+ "description": "When you request that a Pool be deleted, the following actions occur: the Pool state is set to deleting; any ongoing resize operation on the Pool are stopped; the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks running on existing Compute Nodes are terminated and requeued (as if a resize Pool operation had been requested with the default requeue option); finally, the Pool is removed from the system. Because running Tasks are requeued, the user can rerun these Tasks by updating their Job to target a different Pool. The Tasks can then run on the new Pool. If you want to override the requeue behavior, then you should call resize Pool explicitly to shrink the Pool to zero size before deleting the Pool. If you call an Update, Patch or Delete API on a Pool in the deleting state, it will fail with HTTP status code 409 with error code PoolBeingDeleted.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Exists",
+ "x-ms-examples": {
+ "Check Pool Exists": {
+ "$ref": "./examples/PoolExists.json"
+ }
+ },
+ "description": "Gets basic properties of a Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to get."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing headers related to the Pool, if it exists."
+ },
+ "404": {
+ "description": "The Pool does not exist."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Get",
+ "x-ms-examples": {
+ "Pool get": {
+ "$ref": "./examples/PoolGet_Basic.json"
+ }
+ },
+ "description": "Gets information about the specified Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to get."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Pool.",
+ "schema": {
+ "$ref": "#/definitions/CloudPool"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Patch",
+ "x-ms-examples": {
+ "Patch the Pool": {
+ "$ref": "./examples/PoolPatch.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Pool.",
+ "description": "This only replaces the Pool properties specified in the request. For example, if the Pool has a StartTask associated with it, and a request does not specify a StartTask element, then the Pool keeps the existing StartTask.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to update."
+ },
+ {
+ "name": "poolPatchParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolPatchParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/disableautoscale": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_DisableAutoScale",
+ "x-ms-examples": {
+ "Disable pool autoscale": {
+ "$ref": "./examples/PoolDisableAutoScale.json"
+ }
+ },
+ "summary": "Disables automatic scaling for a Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool on which to disable automatic scaling."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/enableautoscale": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_EnableAutoScale",
+ "x-ms-examples": {
+ "Pool enable autoscale": {
+ "$ref": "./examples/PoolEnableAutoscale.json"
+ }
+ },
+ "summary": "Enables automatic scaling for a Pool.",
+ "description": "You cannot enable automatic scaling on a Pool if a resize operation is in progress on the Pool. If automatic scaling of the Pool is currently disabled, you must specify a valid autoscale formula as part of the request. If automatic scaling of the Pool is already enabled, you may specify a new autoscale formula and/or a new evaluation interval. You cannot call this API for the same Pool more than once every 30 seconds.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool on which to enable automatic scaling."
+ },
+ {
+ "name": "poolEnableAutoScaleParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolEnableAutoScaleParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/evaluateautoscale": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_EvaluateAutoScale",
+ "x-ms-examples": {
+ "Pool evaluate autoscale": {
+ "$ref": "./examples/PoolEvaluateAutoscale.json"
+ }
+ },
+ "summary": "Gets the result of evaluating an automatic scaling formula on the Pool.",
+ "description": "This API is primarily for validating an autoscale formula, as it simply returns the result without applying the formula to the Pool. The Pool must have auto scaling enabled in order to evaluate a formula.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool on which to evaluate the automatic scaling formula."
+ },
+ {
+ "name": "poolEvaluateAutoScaleParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolEvaluateAutoScaleParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "A response containing the results of the autoscale evaluation.",
+ "schema": {
+ "$ref": "#/definitions/AutoScaleRun"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/resize": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Resize",
+ "x-ms-examples": {
+ "Pool resize": {
+ "$ref": "./examples/PoolResize.json"
+ }
+ },
+ "summary": "Changes the number of Compute Nodes that are assigned to a Pool.",
+ "description": "You can only resize a Pool when its allocation state is steady. If the Pool is already resizing, the request fails with status code 409. When you resize a Pool, the Pool's allocation state changes from steady to resizing. You cannot resize Pools which are configured for automatic scaling. If you try to do this, the Batch service returns an error 409. If you resize a Pool downwards, the Batch service chooses which Compute Nodes to remove. To remove specific Compute Nodes, use the Pool remove Compute Nodes API instead.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to resize."
+ },
+ {
+ "name": "poolResizeParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolResizeParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/stopresize": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_StopResize",
+ "x-ms-examples": {
+ "Pool stop resize": {
+ "$ref": "./examples/PoolStopResize.json"
+ }
+ },
+ "summary": "Stops an ongoing resize operation on the Pool.",
+ "description": "This does not restore the Pool to its previous state before the resize operation: it only stops any further changes being made, and the Pool maintains its current state. After stopping, the Pool stabilizes at the number of Compute Nodes it was at when the stop operation was done. During the stop operation, the Pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize Pool request; this API can also be used to halt the initial sizing of the Pool when it is created.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool whose resizing you want to stop."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service. If you call this API on a Pool which is not in the resizing state, the request fails with HTTP status code 409.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/updateproperties": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_UpdateProperties",
+ "x-ms-examples": {
+ "Pool update": {
+ "$ref": "./examples/PoolUpdate.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Pool.",
+ "description": "This fully replaces all the updatable properties of the Pool. For example, if the Pool has a StartTask associated with it and if StartTask is not specified with this request, then the Batch service will remove the existing StartTask.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to update."
+ },
+ {
+ "name": "poolUpdatePropertiesParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolUpdatePropertiesParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/removenodes": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "Pool_RemoveNodes",
+ "x-ms-examples": {
+ "Pool remove nodes": {
+ "$ref": "./examples/PoolRemoveNodes.json"
+ }
+ },
+ "summary": "Removes Compute Nodes from the specified Pool.",
+ "description": "This operation can only run when the allocation state of the Pool is steady. When this operation runs, the allocation state changes from steady to resizing.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool from which you want to remove Compute Nodes."
+ },
+ {
+ "name": "nodeRemoveParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NodeRemoveParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Add",
+ "x-ms-examples": {
+ "Add a basic task": {
+ "$ref": "./examples/TaskAdd_Basic.json"
+ },
+ "Add a task with exit conditions": {
+ "$ref": "./examples/TaskAdd_ExitConditions.json"
+ },
+ "Add a task with container settings": {
+ "$ref": "./examples/TaskAdd_ContainerSettings.json"
+ }
+ },
+ "summary": "Adds a Task to the specified Job.",
+ "description": "The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to which the Task is to be added."
+ },
+ {
+ "name": "task",
+ "in": "body",
+ "description": "The Task to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Task_List",
+ "x-ms-examples": {
+ "Task list": {
+ "$ref": "./examples/TaskList.json"
+ }
+ },
+ "summary": "Lists all of the Tasks that are associated with the specified Job.",
+ "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Tasks.",
+ "schema": {
+ "$ref": "#/definitions/CloudTaskListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/addtaskcollection": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_AddCollection",
+ "x-ms-examples": {
+ "Add a basic collection of tasks": {
+ "$ref": "./examples/TaskAddCollection_Basic.json"
+ },
+ "Add a complex collection of tasks": {
+ "$ref": "./examples/TaskAddCollection_Complex.json"
+ }
+ },
+ "summary": "Adds a collection of Tasks to the specified Job.",
+ "description": "Note that each Task must have a unique ID. The Batch service may not return the results for each Task in the same order the Tasks were submitted in this request. If the server times out or the connection is closed during the request, the request may have been partially or fully processed, or not at all. In such cases, the user should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. For example, you should use the same Task IDs during a retry so that if the prior operation succeeded, the retry will not create extra Tasks unexpectedly. If the response contains any Tasks which failed to add, a client can retry the request. In a retry, it is most efficient to resubmit only Tasks that failed to add, and to omit Tasks that were successfully added on the first attempt. The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to which the Task collection is to be added."
+ },
+ {
+ "name": "taskCollection",
+ "in": "body",
+ "description": "The Tasks to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskAddCollectionParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TaskAddCollectionResult"
+ },
+ "description": "A response containing the results of the add Task collection operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}": {
+ "delete": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Delete",
+ "x-ms-examples": {
+ "Task delete": {
+ "$ref": "./examples/TaskDelete.json"
+ }
+ },
+ "summary": "Deletes a Task from the specified Job.",
+ "description": "When a Task is deleted, all of the files in its directory on the Compute Node where it ran are also deleted (regardless of the retention time). For multi-instance Tasks, the delete Task operation applies synchronously to the primary task; subtasks and their files are then deleted asynchronously in the background.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job from which to delete the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Get",
+ "x-ms-examples": {
+ "Task get": {
+ "$ref": "./examples/TaskGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Task.",
+ "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to get information about."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "A response containing the Task.",
+ "schema": {
+ "$ref": "#/definitions/CloudTask"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Update",
+ "x-ms-examples": {
+ "Task update": {
+ "$ref": "./examples/TaskUpdate.json"
+ }
+ },
+ "description": "Updates the properties of the specified Task.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job containing the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to update."
+ },
+ {
+ "name": "taskUpdateParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskUpdateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/subtasksinfo": {
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_ListSubtasks",
+ "x-ms-examples": {
+ "Task list subtasks": {
+ "$ref": "./examples/TaskListSubtasks.json"
+ }
+ },
+ "summary": "Lists all of the subtasks that are associated with the specified multi-instance Task.",
+ "description": "If the Task is not a multi-instance Task then this returns an empty collection.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of subtasks.",
+ "schema": {
+ "$ref": "#/definitions/CloudTaskListSubtasksResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/terminate": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Terminate",
+ "x-ms-examples": {
+ "Task terminate": {
+ "$ref": "./examples/TaskTerminate.json"
+ }
+ },
+ "summary": "Terminates the specified Task.",
+ "description": "When the Task has been terminated, it moves to the completed state. For multi-instance Tasks, the terminate Task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in the background.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job containing the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to terminate."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/reactivate": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Reactivate",
+ "x-ms-examples": {
+ "Task reactivate": {
+ "$ref": "./examples/TaskReactivate.json"
+ }
+ },
+ "summary": "Reactivates a Task, allowing it to run again even if its retry count has been exhausted.",
+ "description": "Reactivation makes a Task eligible to be retried again up to its maximum retry count. The Task's state is changed to active. As the Task is no longer in the completed state, any previous exit code or failure information is no longer available after reactivation. Each time a Task is reactivated, its retry count is reset to 0. Reactivation will fail for Tasks that are not completed or that previously completed successfully (with an exit code of 0). Additionally, it will fail if the Job has completed (or is terminating or deleting).",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job containing the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to reactivate."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/users": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_AddUser",
+ "x-ms-examples": {
+ "Node add user": {
+ "$ref": "./examples/NodeAddUser.json"
+ }
+ },
+ "summary": "Adds a user Account to the specified Compute Node.",
+ "description": "You can add a user Account to a Compute Node only when it is in the idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the machine on which you want to create a user Account."
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user Account to be created.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComputeNodeUser"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/users/{userName}": {
+ "delete": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_DeleteUser",
+ "x-ms-examples": {
+ "Node delete user": {
+ "$ref": "./examples/NodeDeleteUser.json"
+ }
+ },
+ "summary": "Deletes a user Account from the specified Compute Node.",
+ "description": "You can delete a user Account to a Compute Node only when it is in the idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the machine on which you want to delete a user Account."
+ },
+ {
+ "name": "userName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user Account to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_UpdateUser",
+ "x-ms-examples": {
+ "Node update user": {
+ "$ref": "./examples/NodeUpdateUser.json"
+ }
+ },
+ "summary": "Updates the password and expiration time of a user Account on the specified Compute Node.",
+ "description": "This operation replaces of all the updatable properties of the Account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user Account on a Compute Node only when it is in the idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the machine on which you want to update a user Account."
+ },
+ {
+ "name": "userName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user Account to update."
+ },
+ {
+ "name": "nodeUpdateUserParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NodeUpdateUserParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_Get",
+ "x-ms-examples": {
+ "Node get": {
+ "$ref": "./examples/NodeGet_Basic.json"
+ }
+ },
+ "summary": "Gets information about the specified Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to get information about."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Compute Node.",
+ "schema": {
+ "$ref": "#/definitions/ComputeNode"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/reboot": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_Reboot",
+ "x-ms-examples": {
+ "Node reboot": {
+ "$ref": "./examples/NodeReboot.json"
+ }
+ },
+ "summary": "Restarts the specified Compute Node.",
+ "description": "You can restart a Compute Node only if it is in an idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to restart."
+ },
+ {
+ "name": "nodeRebootParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NodeRebootParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/reimage": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_Reimage",
+ "x-ms-examples": {
+ "Node reimage": {
+ "$ref": "./examples/NodeReimage.json"
+ }
+ },
+ "summary": "Reinstalls the operating system on the specified Compute Node.",
+ "description": "You can reinstall the operating system on a Compute Node only if it is in an idle or running state. This API can be invoked only on Pools created with the cloud service configuration property.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to restart."
+ },
+ {
+ "name": "nodeReimageParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NodeReimageParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/disablescheduling": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_DisableScheduling",
+ "x-ms-examples": {
+ "Node disable scheduling": {
+ "$ref": "./examples/NodeDisableScheduling.json"
+ }
+ },
+ "summary": "Disables Task scheduling on the specified Compute Node.",
+ "description": "You can disable Task scheduling on a Compute Node only if its current scheduling state is enabled.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node on which you want to disable Task scheduling."
+ },
+ {
+ "name": "nodeDisableSchedulingParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NodeDisableSchedulingParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/enablescheduling": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_EnableScheduling",
+ "x-ms-examples": {
+ "Node enable scheduling": {
+ "$ref": "./examples/NodeEnableScheduling.json"
+ }
+ },
+ "summary": "Enables Task scheduling on the specified Compute Node.",
+ "description": "You can enable Task scheduling on a Compute Node only if its current scheduling state is disabled",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node on which you want to enable Task scheduling."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_GetRemoteLoginSettings",
+ "x-ms-examples": {
+ "Node get remote login settings": {
+ "$ref": "./examples/NodeGetRemoteLoginSettings.json"
+ }
+ },
+ "summary": "Gets the settings required for remote login to a Compute Node.",
+ "description": "Before you can remotely login to a Compute Node using the remote login settings, you must create a user Account on the Compute Node. This API can be invoked only on Pools created with the virtual machine configuration property. For Pools created with a cloud service configuration, see the GetRemoteDesktop API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node for which to obtain the remote login settings."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the login settings.",
+ "schema": {
+ "$ref": "#/definitions/ComputeNodeGetRemoteLoginSettingsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/rdp": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_GetRemoteDesktop",
+ "x-ms-examples": {
+ "Get RDP file of the compute node": {
+ "$ref": "./examples/NodeGetRemoteDesktop.json"
+ }
+ },
+ "summary": "Gets the Remote Desktop Protocol file for the specified Compute Node.",
+ "description": "Before you can access a Compute Node by using the RDP file, you must create a user Account on the Compute Node. This API can only be invoked on Pools created with a cloud service configuration. For Pools created with a virtual machine configuration, see the GetRemoteLoginSettings API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node for which you want to get the Remote Desktop Protocol file."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the RDP information.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_UploadBatchServiceLogs",
+ "summary": "Upload Azure Batch service log files from the specified Compute Node to Azure Blob Storage.",
+ "description": "This is for gathering Azure Batch service log files in an automated fashion from Compute Nodes if you are experiencing an error and wish to escalate to Azure support. The Azure Batch service log files should be shared with Azure support to aid in debugging issues with the Batch service.",
+ "x-ms-examples": {
+ "Upload BatchService Logs": {
+ "$ref": "./examples/NodeUploadBatchServiceLogs.json"
+ }
+ },
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node from which you want to upload the Azure Batch service log files."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "uploadBatchServiceLogsConfiguration",
+ "in": "body",
+ "description": "The Azure Batch service log files upload configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadBatchServiceLogsConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "description": "The request to the Batch service was successful.",
+ "schema": {
+ "$ref": "#/definitions/UploadBatchServiceLogsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "ComputeNode_List",
+ "x-ms-examples": {
+ "Node list": {
+ "$ref": "./examples/NodeList.json"
+ }
+ },
+ "summary": "Lists the Compute Nodes in the specified Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool from which you want to list Compute Nodes."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Compute Nodes.",
+ "schema": {
+ "$ref": "#/definitions/ComputeNodeListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PoolUsageMetrics": {
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool whose metrics are aggregated in this entry."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the aggregation interval covered by this entry."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The end time of the aggregation interval covered by this entry."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the Pool. All VMs in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "totalCoreHours": {
+ "type": "number",
+ "format": "double",
+ "title": "The total core hours used in the Pool during this aggregation interval."
+ }
+ },
+ "required": [
+ "poolId",
+ "startTime",
+ "endTime",
+ "vmSize",
+ "totalCoreHours"
+ ],
+ "title": "Usage metrics for a Pool across an aggregation interval."
+ },
+ "PoolListUsageMetricsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PoolUsageMetrics"
+ },
+ "title": "The Pool usage metrics data."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of a listing the usage metrics for an Account."
+ },
+ "ImageInformation": {
+ "properties": {
+ "nodeAgentSKUId": {
+ "type": "string",
+ "title": "The ID of the Compute Node agent SKU which the Image supports."
+ },
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "The reference to the Azure Virtual Machine's Marketplace Image."
+ },
+ "osType": {
+ "type": "string",
+ "title": "The type of operating system (e.g. Windows or Linux) of the Image.",
+ "enum": [
+ "linux",
+ "windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "linux",
+ "description": "The Linux operating system."
+ },
+ {
+ "value": "windows",
+ "description": "The Windows operating system."
+ }
+ ]
+ }
+ },
+ "capabilities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The capabilities or features which the Image supports.",
+ "description": "Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service."
+ },
+ "batchSupportEndOfLife": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time when the Azure Batch service will stop accepting create Pool requests for the Image."
+ },
+ "verificationType": {
+ "type": "string",
+ "title": "Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU.",
+ "enum": [
+ "verified",
+ "unverified"
+ ],
+ "x-ms-enum": {
+ "name": "VerificationType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "verified",
+ "description": "The Image is guaranteed to be compatible with the associated Compute Node agent SKU and all Batch features have been confirmed to work as expected."
+ },
+ {
+ "value": "unverified",
+ "description": "The associated Compute Node agent SKU should have binary compatibility with the Image, but specific functionality has not been verified."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "imageReference",
+ "verificationType",
+ "osType",
+ "nodeAgentSKUId"
+ ],
+ "title": "A reference to the Azure Virtual Machines Marketplace Image and additional information about the Image."
+ },
+ "AuthenticationTokenSettings": {
+ "properties": {
+ "access": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "enum": [
+ "job"
+ ],
+ "x-ms-enum": {
+ "name": "AccessScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "job",
+ "description": "Grants access to perform all operations on the Job containing the Task."
+ }
+ ]
+ }
+ },
+ "title": "The Batch resources to which the token grants access.",
+ "description": "The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the Job which contains the Task."
+ }
+ },
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations."
+ },
+ "AccountListSupportedImagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageInformation"
+ },
+ "title": "The list of supported Virtual Machine Images."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the supported Virtual Machine Images."
+ },
+ "UsageStatistics": {
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "dedicatedCoreTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The aggregated wall-clock time of the dedicated Compute Node cores being part of the Pool."
+ }
+ },
+ "required": [
+ "startTime",
+ "lastUpdateTime",
+ "dedicatedCoreTime"
+ ],
+ "title": "Statistics related to Pool usage information."
+ },
+ "ResourceStatistics": {
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "avgCPUPercentage": {
+ "type": "number",
+ "format": "double",
+ "title": "The average CPU usage across all Compute Nodes in the Pool (percentage per node)."
+ },
+ "avgMemoryGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The average memory usage in GiB across all Compute Nodes in the Pool."
+ },
+ "peakMemoryGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The peak memory usage in GiB across all Compute Nodes in the Pool."
+ },
+ "avgDiskGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The average used disk space in GiB across all Compute Nodes in the Pool."
+ },
+ "peakDiskGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The peak used disk space in GiB across all Compute Nodes in the Pool."
+ },
+ "diskReadIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations across all Compute Nodes in the Pool."
+ },
+ "diskWriteIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations across all Compute Nodes in the Pool."
+ },
+ "diskReadGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of disk reads across all Compute Nodes in the Pool."
+ },
+ "diskWriteGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of disk writes across all Compute Nodes in the Pool."
+ },
+ "networkReadGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of network reads across all Compute Nodes in the Pool."
+ },
+ "networkWriteGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of network writes across all Compute Nodes in the Pool."
+ }
+ },
+ "required": [
+ "startTime",
+ "lastUpdateTime",
+ "avgCPUPercentage",
+ "avgMemoryGiB",
+ "peakMemoryGiB",
+ "avgDiskGiB",
+ "peakDiskGiB",
+ "diskReadIOps",
+ "diskWriteIOps",
+ "diskReadGiB",
+ "diskWriteGiB",
+ "networkReadGiB",
+ "networkWriteGiB"
+ ],
+ "title": "Statistics related to resource consumption by Compute Nodes in a Pool."
+ },
+ "PoolStatistics": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL for the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "usageStats": {
+ "$ref": "#/definitions/UsageStatistics",
+ "title": "Statistics related to Pool usage, such as the amount of core-time used."
+ },
+ "resourceStats": {
+ "$ref": "#/definitions/ResourceStatistics",
+ "title": "Statistics related to resource consumption by Compute Nodes in the Pool."
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime"
+ ],
+ "title": "Contains utilization and resource usage statistics for the lifetime of a Pool."
+ },
+ "JobStatistics": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL of the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "userCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job."
+ },
+ "kernelCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job."
+ },
+ "wallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wall clock time of all Tasks in the Job.",
+ "description": " The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries."
+ },
+ "readIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations made by all Tasks in the Job."
+ },
+ "writeIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations made by all Tasks in the Job."
+ },
+ "readIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB read from disk by all Tasks in the Job."
+ },
+ "writeIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB written to disk by all Tasks in the Job."
+ },
+ "numSucceededTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks successfully completed in the Job during the given time range.",
+ "description": "A Task completes successfully if it returns exit code 0."
+ },
+ "numFailedTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks in the Job that failed during the given time range.",
+ "description": "A Task fails if it exhausts its maximum retry count without returning exit code 0."
+ },
+ "numTaskRetries": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of retries on all the Tasks in the Job during the given time range."
+ },
+ "waitTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wait time of all Tasks in the Job.",
+ "description": "The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.) This value is only reported in the Account lifetime statistics; it is not included in the Job statistics."
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime",
+ "userCPUTime",
+ "kernelCPUTime",
+ "wallClockTime",
+ "readIOps",
+ "writeIOps",
+ "readIOGiB",
+ "writeIOGiB",
+ "numSucceededTasks",
+ "numFailedTasks",
+ "numTaskRetries",
+ "waitTime"
+ ],
+ "title": "Resource usage statistics for a Job."
+ },
+ "NameValuePair": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name in the name-value pair."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value in the name-value pair."
+ }
+ },
+ "title": "Represents a name-value pair."
+ },
+ "DeleteCertificateError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Certificate deletion error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Certificate deletion error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the Certificate deletion error.",
+ "description": "This list includes details such as the active Pools and Compute Nodes referencing this Certificate. However, if a large number of resources reference the Certificate, the list contains only about the first hundred."
+ }
+ },
+ "title": "An error encountered by the Batch service when deleting a Certificate."
+ },
+ "Certificate": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits."
+ },
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm used to derive the thumbprint."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Certificate."
+ },
+ "state": {
+ "title": "The current state of the Certificate.",
+ "$ref": "#/definitions/CertificateState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Certificate entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Certificate.",
+ "description": "This property is not set if the Certificate is in its initial active state.",
+ "$ref": "#/definitions/CertificateState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Certificate entered its previous state.",
+ "description": "This property is not set if the Certificate is in its initial Active state."
+ },
+ "publicData": {
+ "type": "string",
+ "title": "The public part of the Certificate as a base-64 encoded .cer file."
+ },
+ "deleteCertificateError": {
+ "$ref": "#/definitions/DeleteCertificateError",
+ "title": "The error that occurred on the last attempt to delete this Certificate.",
+ "description": "This property is set only if the Certificate is in the DeleteFailed state."
+ }
+ },
+ "description": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine."
+ },
+ "ApplicationPackageReference": {
+ "properties": {
+ "applicationId": {
+ "type": "string",
+ "title": "The ID of the application to deploy."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the application to deploy. If omitted, the default version is deployed.",
+ "description": "If this is omitted on a Pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a Task, and no default version is specified for this application, the Task fails with a pre-processing error."
+ }
+ },
+ "required": [
+ "applicationId"
+ ],
+ "title": "A reference to an Package to be deployed to Compute Nodes."
+ },
+ "ApplicationSummary": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the application within the Account."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the application."
+ },
+ "versions": {
+ "type": "array",
+ "title": "The list of available versions of the application.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "displayName",
+ "versions"
+ ],
+ "title": "Contains information about an application in an Azure Batch Account."
+ },
+ "CertificateAddParameter": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed)."
+ },
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm used to derive the thumbprint. This must be sha1."
+ },
+ "data": {
+ "type": "string",
+ "title": "The base64-encoded contents of the Certificate. The maximum size is 10KB."
+ },
+ "certificateFormat": {
+ "type": "string",
+ "title": "The format of the Certificate data.",
+ "enum": [
+ "pfx",
+ "cer"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateFormat",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "pfx",
+ "description": "The Certificate is a PFX (PKCS#12) formatted Certificate or Certificate chain."
+ },
+ {
+ "value": "cer",
+ "description": "The Certificate is a base64-encoded X.509 Certificate."
+ }
+ ]
+ }
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to access the Certificate's private key.",
+ "description": "This must be omitted if the Certificate format is cer."
+ }
+ },
+ "required": [
+ "thumbprint",
+ "thumbprintAlgorithm",
+ "data"
+ ],
+ "title": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine."
+ },
+ "CertificateListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "title": "The list of Certificates."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Certificates in the Account."
+ },
+ "FileProperties": {
+ "properties": {
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The file creation time.",
+ "description": "The creation time is not returned for files on Linux Compute Nodes."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the file was last modified."
+ },
+ "contentLength": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The length of the file."
+ },
+ "contentType": {
+ "type": "string",
+ "title": "The content type of the file."
+ },
+ "fileMode": {
+ "type": "string",
+ "title": "The file mode attribute in octal format.",
+ "description": "The file mode is returned only for files on Linux Compute Nodes."
+ }
+ },
+ "required": [
+ "lastModified",
+ "contentLength"
+ ],
+ "title": "The properties of a file on a Compute Node."
+ },
+ "NodeFile": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The file path."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the file."
+ },
+ "isDirectory": {
+ "type": "boolean",
+ "title": "Whether the object represents a directory."
+ },
+ "properties": {
+ "$ref": "#/definitions/FileProperties",
+ "title": "The file properties."
+ }
+ },
+ "title": "Information about a file or directory on a Compute Node."
+ },
+ "NodeFileListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeFile"
+ },
+ "title": "The list of files."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the files on a Compute Node, or the files associated with a Task on a Compute Node."
+ },
+ "Schedule": {
+ "properties": {
+ "doNotRunUntil": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The earliest time at which any Job may be created under this Job Schedule.",
+ "description": "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately."
+ },
+ "doNotRunAfter": {
+ "type": "string",
+ "format": "date-time",
+ "title": "A time after which no Job will be created under this Job Schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active Job under this Job Schedule.",
+ "description": "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it."
+ },
+ "startWindow": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval, starting from the time at which the schedule indicates a Job should be created, within which a Job must be created.",
+ "description": "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "recurrenceInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval between the start times of two successive Jobs under the Job Schedule. A Job Schedule can have at most one active Job under it at any given time.",
+ "description": "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ }
+ },
+ "title": "The schedule according to which Jobs will be created"
+ },
+ "JobConstraints": {
+ "properties": {
+ "maxWallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The maximum elapsed time that the Job may run, measured from the time the Job is created.",
+ "description": "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero.",
+ "description": "Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)."
+ }
+ },
+ "title": "The execution constraints for a Job."
+ },
+ "JobNetworkConfiguration": {
+ "properties": {
+ "subnetId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool.",
+ "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
+ "description": "Setting up RBAC for Azure Batch VNETs"
+ }
+ }
+ },
+ "required": [
+ "subnetId"
+ ],
+ "title": "The network configuration for the Job."
+ },
+ "TaskContainerSettings": {
+ "properties": {
+ "containerRunOptions": {
+ "type": "string",
+ "title": "Additional options to the container create command.",
+ "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service."
+ },
+ "imageName": {
+ "type": "string",
+ "title": "The Image to use to create the container in which the Task will run.",
+ "description": "This is the full Image reference, as would be specified to \"docker pull\". If no tag is provided as part of the Image name, the tag \":latest\" is used as a default."
+ },
+ "registry": {
+ "$ref": "#/definitions/ContainerRegistry",
+ "title": "The private registry which contains the container Image.",
+ "description": "This setting can be omitted if was already provided at Pool creation."
+ },
+ "workingDirectory": {
+ "type": "string",
+ "title": "The location of the container Task working directory.",
+ "description": "The default is 'taskWorkingDirectory'.",
+ "enum": [
+ "taskWorkingDirectory",
+ "containerImageDefault"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerWorkingDirectory",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "taskWorkingDirectory",
+ "description": "Use the standard Batch service Task working directory, which will contain the Task Resource Files populated by Batch."
+ },
+ {
+ "value": "containerImageDefault",
+ "description": "Use the working directory defined in the container Image. Beware that this directory will not contain the Resource Files downloaded by Batch."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "imageName"
+ ],
+ "title": "The container settings for a Task."
+ },
+ "ResourceFile": {
+ "properties": {
+ "autoStorageContainerName": {
+ "type": "string",
+ "title": "The storage container name in the auto storage Account.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified."
+ },
+ "storageContainerUrl": {
+ "type": "string",
+ "title": "The URL of the blob container within Azure Blob Storage.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading blobs from the container. There are two ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, or set the ACL for the container to allow public access."
+ },
+ "httpUrl": {
+ "type": "string",
+ "title": "The URL of the file to download.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access."
+ },
+ "blobPrefix": {
+ "type": "string",
+ "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.",
+ "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded."
+ },
+ "filePath": {
+ "type": "string",
+ "title": "The location on the Compute Node to which to download the file(s), relative to the Task's working directory.",
+ "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the Task's working directory (for example by using '..')."
+ },
+ "fileMode": {
+ "type": "string",
+ "title": "The file permission mode attribute in octal format.",
+ "description": "This property applies only to files being downloaded to Linux Compute Nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows Compute Node. If this property is not specified for a Linux Compute Node, then a default value of 0770 is applied to the file."
+ }
+ },
+ "title": "A single file or multiple files to be downloaded to a Compute Node."
+ },
+ "EnvironmentSetting": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the environment variable."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "An environment variable to be set on a Task process."
+ },
+ "ExitConditions": {
+ "properties": {
+ "exitCodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExitCodeMapping"
+ },
+ "title": "A list of individual Task exit codes and how the Batch service should respond to them."
+ },
+ "exitCodeRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExitCodeRangeMapping"
+ },
+ "title": "A list of Task exit code ranges and how the Batch service should respond to them."
+ },
+ "preProcessingError": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task fails to start due to an error."
+ },
+ "fileUploadError": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if a file upload error occurs.",
+ "description": "If the Task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence."
+ },
+ "default": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task fails with an exit condition not covered by any of the other properties.",
+ "description": "This value is used if the Task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behavior on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection."
+ }
+ },
+ "title": "Specifies how the Batch service should respond when the Task completes."
+ },
+ "ExitCodeMapping": {
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32",
+ "title": "A process exit code."
+ },
+ "exitOptions": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task exits with this exit code."
+ }
+ },
+ "title": "How the Batch service should respond if a Task exits with a particular exit code.",
+ "required": [
+ "code",
+ "exitOptions"
+ ]
+ },
+ "ExitCodeRangeMapping": {
+ "properties": {
+ "start": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first exit code in the range."
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last exit code in the range."
+ },
+ "exitOptions": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task exits with an exit code in the range start to end (inclusive)."
+ }
+ },
+ "title": "A range of exit codes and how the Batch service should respond to exit codes within that range.",
+ "required": [
+ "start",
+ "end",
+ "exitOptions"
+ ]
+ },
+ "ExitOptions": {
+ "properties": {
+ "jobAction": {
+ "type": "string",
+ "title": "An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'.",
+ "description": "The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).",
+ "enum": [
+ "none",
+ "disable",
+ "terminate"
+ ],
+ "x-ms-enum": {
+ "name": "JobAction",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "none",
+ "description": "Take no action."
+ },
+ {
+ "value": "disable",
+ "description": "Disable the Job. This is equivalent to calling the disable Job API, with a disableTasks value of requeue."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate the Job. The terminateReason in the Job's executionInfo is set to \"TaskFailed\"."
+ }
+ ]
+ }
+ },
+ "dependencyAction": {
+ "type": "string",
+ "title": "An action that the Batch service performs on Tasks that depend on this Task.",
+ "description": "Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks.",
+ "enum": [
+ "satisfy",
+ "block"
+ ],
+ "x-ms-enum": {
+ "name": "DependencyAction",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "satisfy",
+ "description": "Satisfy tasks waiting on this task; once all dependencies are satisfied, the task will be scheduled to run."
+ },
+ {
+ "value": "block",
+ "description": "Blocks tasks waiting on this task, preventing them from being scheduled."
+ }
+ ]
+ }
+ }
+ },
+ "title": "Specifies how the Batch service responds to a particular exit condition."
+ },
+ "AutoUserSpecification": {
+ "properties": {
+ "scope": {
+ "type": "string",
+ "title": "The scope for the auto user",
+ "description": "The default value is pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by StartTasks.",
+ "enum": [
+ "task",
+ "pool"
+ ],
+ "x-ms-enum": {
+ "name": "AutoUserScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "task",
+ "description": "Specifies that the service should create a new user for the Task."
+ },
+ {
+ "value": "pool",
+ "description": "Specifies that the Task runs as the common auto user Account which is created on every Compute Node in a Pool."
+ }
+ ]
+ }
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the auto user.",
+ "description": "The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ }
+ },
+ "title": "Specifies the parameters for the auto user that runs a Task on the Batch service."
+ },
+ "UserIdentity": {
+ "properties": {
+ "username": {
+ "type": "string",
+ "x-ms-client-name": "userName",
+ "title": "The name of the user identity under which the Task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ },
+ "autoUser": {
+ "$ref": "#/definitions/AutoUserSpecification",
+ "title": "The auto user under which the Task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ }
+ },
+ "title": "The definition of the user identity under which the Task is run.",
+ "description": "Specify either the userName or autoUser property, but not both."
+ },
+ "LinuxUserConfiguration": {
+ "properties": {
+ "uid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The user ID of the user Account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid."
+ },
+ "gid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The group ID for the user Account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid."
+ },
+ "sshPrivateKey": {
+ "type": "string",
+ "title": "The SSH private key for the user Account.",
+ "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between Compute Nodes in a Linux Pool when the Pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between Compute Nodes (no modification of the user's .ssh directory is done)."
+ }
+ },
+ "title": "Properties used to create a user Account on a Linux Compute Node."
+ },
+ "WindowsUserConfiguration": {
+ "properties": {
+ "loginMode": {
+ "type": "string",
+ "title": "The login mode for the user",
+ "description": "The default value for VirtualMachineConfiguration Pools is 'batch' and for CloudServiceConfiguration Pools is 'interactive'.",
+ "enum": [
+ "batch",
+ "interactive"
+ ],
+ "x-ms-enum": {
+ "name": "LoginMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "batch",
+ "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes."
+ },
+ {
+ "value": "interactive",
+ "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. UAC is enabled on Windows VirtualMachineConfiguration Pools. If this option is used with an elevated user identity in a Windows VirtualMachineConfiguration Pool, the user session will not be elevated unless the application executed by the Task command line is configured to always require administrative privilege or to always require maximum privilege."
+ }
+ ]
+ }
+ }
+ },
+ "title": "Properties used to create a user Account on a Windows Compute Node."
+ },
+ "UserAccount": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the user Account."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password for the user Account."
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the user Account.",
+ "description": "The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ },
+ "linuxUserConfiguration": {
+ "title": "The Linux-specific user configuration for the user Account.",
+ "description": "This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options.",
+ "$ref": "#/definitions/LinuxUserConfiguration"
+ },
+ "windowsUserConfiguration": {
+ "title": "The Windows-specific user configuration for the user Account.",
+ "description": "This property can only be specified if the user is on a Windows Pool. If not specified and on a Windows Pool, the user is created with the default options.",
+ "$ref": "#/definitions/WindowsUserConfiguration"
+ }
+ },
+ "required": [
+ "name",
+ "password"
+ ],
+ "title": "Properties used to create a user used to execute Tasks on an Azure Batch Compute Node."
+ },
+ "TaskConstraints": {
+ "properties": {
+ "maxWallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The maximum elapsed time that the Task may run, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it.",
+ "description": "If this is not specified, there is no time limit on how long the Task may run."
+ },
+ "retentionTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The minimum time to retain the Task directory on the Compute Node where it ran, from the time it completes execution. After this time, the Batch service may delete the Task directory and all its contents.",
+ "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero.",
+ "description": "Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit."
+ }
+ },
+ "title": "Execution constraints to apply to a Task."
+ },
+ "JobManagerTask": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job Manager Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name of the Job Manager Task.",
+ "description": "It need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Job Manager Task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Job Manager Task runs.",
+ "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "outputFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ },
+ "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.",
+ "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Job Manager Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "Constraints that apply to the Job Manager Task."
+ },
+ "killJobOnCompletion": {
+ "type": "boolean",
+ "title": "Whether completion of the Job Manager Task signifies completion of the entire Job.",
+ "description": "If true, when the Job Manager Task completes, the Batch service marks the Job as complete. If any Tasks are still running at this time (other than Job Release), those Tasks are terminated. If false, the completion of the Job Manager Task does not affect the Job status. In this case, you should either use the onAllTasksComplete attribute to terminate the Job, or have a client or user terminate the Job explicitly. An example of this is if the Job Manager creates a set of Tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control Job lifetime, and using the Job Manager Task only to create the Tasks for the Job (not to monitor progress), then it is important to set killJobOnCompletion to false."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Job Manager Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "runExclusive": {
+ "type": "boolean",
+ "title": "Whether the Job Manager Task requires exclusive use of the Compute Node where it runs.",
+ "description": "If true, no other Tasks will run on the same Node for as long as the Job Manager is running. If false, other Tasks can run simultaneously with the Job Manager on a Compute Node. The Job Manager Task counts normally against the Compute Node's concurrent Task limit, so this is only relevant if the Compute Node allows multiple concurrent Tasks. The default value is true."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Application Packages that the Batch service will deploy to the Compute Node before running the command line.",
+ "description": "Application Packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced Application Package is already on the Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Application Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails."
+ },
+ "authenticationTokenSettings": {
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations.",
+ "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.",
+ "$ref": "#/definitions/AuthenticationTokenSettings"
+ },
+ "allowLowPriorityNode": {
+ "type": "boolean",
+ "title": "Whether the Job Manager Task may run on a low-priority Compute Node.",
+ "description": "The default value is true."
+ }
+ },
+ "required": [
+ "id",
+ "commandLine"
+ ],
+ "title": "Specifies details of a Job Manager Task.",
+ "description": "The Job Manager Task is automatically started when the Job is created. The Batch service tries to schedule the Job Manager Task before any other Tasks in the Job. When shrinking a Pool, the Batch service tries to preserve Nodes where Job Manager Tasks are running for as long as possible (that is, Compute Nodes running 'normal' Tasks are removed before Compute Nodes running Job Manager Tasks). When a Job Manager Task fails and needs to be restarted, the system tries to schedule it at the highest priority. If there are no idle Compute Nodes available, the system may terminate one of the running Tasks in the Pool and return it to the queue in order to make room for the Job Manager Task to restart. Note that a Job Manager Task in one Job does not have priority over Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For example, if a Job Manager in a priority 0 Job needs to be restarted, it will not displace Tasks of a priority 1 Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "JobPreparationTask": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job Preparation Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Job Preparation Task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Job Preparation Task runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Job Preparation Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "Constraints that apply to the Job Preparation Task."
+ },
+ "waitForSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should wait for the Job Preparation Task to complete successfully before scheduling any other Tasks of the Job on the Compute Node. A Job Preparation Task has completed successfully if it exits with exit code 0.",
+ "description": "If true and the Job Preparation Task fails on a Node, the Batch service retries the Job Preparation Task up to its maximum retry count (as specified in the constraints element). If the Task has still not completed successfully after all retries, then the Batch service will not schedule Tasks of the Job to the Node. The Node remains active and eligible to run Tasks of other Jobs. If false, the Batch service will not wait for the Job Preparation Task to complete. In this case, other Tasks of the Job can start executing on the Compute Node while the Job Preparation Task is still running; and even if the Job Preparation Task fails, new Tasks will continue to be scheduled on the Compute Node. The default value is true."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Job Preparation Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task on Windows Compute Nodes, or a non-administrative user unique to the Pool on Linux Compute Nodes."
+ },
+ "rerunOnNodeRebootAfterSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should rerun the Job Preparation Task after a Compute Node reboots.",
+ "description": "The Job Preparation Task is always rerun if a Compute Node is reimaged, or if the Job Preparation Task did not complete (e.g. because the reboot occurred while the Task was running). Therefore, you should always write a Job Preparation Task to be idempotent and to behave correctly if run multiple times. The default value is true."
+ }
+ },
+ "required": [
+ "commandLine"
+ ],
+ "title": "A Job Preparation Task to run before any Tasks of the Job on any given Compute Node.",
+ "description": "You can use Job Preparation to prepare a Node to run Tasks for the Job. Activities commonly performed in Job Preparation include: Downloading common resource files used by all the Tasks in the Job. The Job Preparation Task can download these common resource files to the shared location on the Node. (AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the Node so that all Tasks of that Job can communicate with it. If the Job Preparation Task fails (that is, exhausts its retry count before exiting with exit code 0), Batch will not run Tasks of this Job on the Node. The Compute Node remains ineligible to run Tasks of this Job until it is reimaged. The Compute Node remains active and can be used for other Jobs. The Job Preparation Task can run multiple times on the same Node. Therefore, you should write the Job Preparation Task to handle re-execution. If the Node is rebooted, the Job Preparation Task is run again on the Compute Node before scheduling any other Task of the Job, if rerunOnNodeRebootAfterSuccess is true or if the Job Preparation Task did not previously complete. If the Node is reimaged, the Job Preparation Task is run again before scheduling any Task of the Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "JobReleaseTask": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job Release Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Job Release Task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Job Release Task runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.",
+ "description": "Files listed under this element are located in the Task's working directory."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Job Release Task."
+ },
+ "maxWallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The maximum elapsed time that the Job Release Task may run on a given Compute Node, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. You may not specify a timeout longer than 15 minutes. If you do, the Batch service rejects it with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "retentionTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The minimum time to retain the Task directory for the Job Release Task on the Compute Node. After this time, the Batch service may delete the Task directory and all its contents.",
+ "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Job Release Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ }
+ },
+ "required": [
+ "commandLine"
+ ],
+ "title": "A Job Release Task to run on Job completion on any Compute Node where the Job has run.",
+ "description": "The Job Release Task runs when the Job ends, because of one of the following: The user calls the Terminate Job API, or the Delete Job API while the Job is still active, the Job's maximum wall clock time constraint is reached, and the Job is still active, or the Job's Job Manager Task completed, and the Job is configured to terminate when the Job Manager completes. The Job Release Task runs on each Node where Tasks of the Job have run and the Job Preparation Task ran and completed. If you reimage a Node after it has run the Job Preparation Task, and the Job ends without any further Tasks of the Job running on that Node (and hence the Job Preparation Task does not re-run), then the Job Release Task does not run on that Compute Node. If a Node reboots while the Job Release Task is still running, the Job Release Task runs again when the Compute Node starts up. The Job is not marked as complete until all Job Release Tasks have completed. The Job Release Task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards the maxTasksPerNode limit specified on the Pool."
+ },
+ "TaskSchedulingPolicy": {
+ "properties": {
+ "nodeFillType": {
+ "type": "string",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread.",
+ "enum": [
+ "spread",
+ "pack"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeFillType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "spread",
+ "description": "Tasks should be assigned evenly across all Compute Nodes in the Pool."
+ },
+ {
+ "value": "pack",
+ "description": "As many Tasks as possible (maxTasksPerNode) should be assigned to each Compute Node in the Pool before any Tasks are assigned to the next Compute Node in the Pool."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "nodeFillType"
+ ],
+ "title": "Specifies how Tasks should be distributed across Compute Nodes."
+ },
+ "StartTask": {
+ "properties": {
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the StartTask.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the StartTask runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.",
+ "description": "Files listed under this element are located in the Task's working directory."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the StartTask."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the StartTask runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times the Task may be retried.",
+ "description": "The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task. If the maximum retry count is -1, the Batch service retries the Task without limit."
+ },
+ "waitForSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should wait for the StartTask to complete successfully (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node.",
+ "description": "If true and the StartTask fails on a Node, the Batch service retries the StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not completed successfully after all retries, then the Batch service marks the Node unusable, and will not schedule Tasks to it. This condition can be detected via the Compute Node state and failure info details. If false, the Batch service will not wait for the StartTask to complete. In this case, other Tasks can start executing on the Compute Node while the StartTask is still running; and even if the StartTask fails, new Tasks will continue to be scheduled on the Compute Node. The default is true."
+ }
+ },
+ "required": [
+ "commandLine"
+ ],
+ "title": "A Task which is run when a Node joins a Pool in the Azure Batch service, or when the Compute Node is rebooted or reimaged.",
+ "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing. In some cases the StartTask may be re-run even though the Compute Node was not rebooted. Special care should be taken to avoid StartTasks which create breakaway process or install/launch services from the StartTask working directory, as this will block Batch from being able to re-run the StartTask."
+ },
+ "CertificateReference": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "title": "The thumbprint of the Certificate."
+ },
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm with which the thumbprint is associated. This must be sha1."
+ },
+ "storeLocation": {
+ "type": "string",
+ "title": "The location of the Certificate store on the Compute Node into which to install the Certificate.",
+ "description": "The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.",
+ "enum": [
+ "currentuser",
+ "localmachine"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateStoreLocation",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "currentuser",
+ "description": "Certificates should be installed to the CurrentUser Certificate store.",
+ "name": "currentUser"
+ },
+ {
+ "value": "localmachine",
+ "description": "Certificates should be installed to the LocalMachine Certificate store.",
+ "name": "localMachine"
+ }
+ ]
+ }
+ },
+ "storeName": {
+ "type": "string",
+ "title": "The name of the Certificate store on the Compute Node into which to install the Certificate.",
+ "description": "This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My."
+ },
+ "visibility": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "enum": [
+ "starttask",
+ "task",
+ "remoteuser"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateVisibility",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "starttask",
+ "description": "The Certificate should be visible to the user account under which the StartTask is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well.",
+ "name": "startTask"
+ },
+ {
+ "value": "task",
+ "description": "The Certificate should be visible to the user accounts under which Job Tasks are run."
+ },
+ {
+ "value": "remoteuser",
+ "description": "The Certificate should be visible to the user accounts under which users remotely access the Compute Node.",
+ "name": "remoteUser"
+ }
+ ]
+ }
+ },
+ "title": "Which user Accounts on the Compute Node should have access to the private data of the Certificate.",
+ "description": "You can specify more than one visibility in this collection. The default is all Accounts."
+ }
+ },
+ "required": [
+ "thumbprint",
+ "thumbprintAlgorithm"
+ ],
+ "title": "A reference to a Certificate to be installed on Compute Nodes in a Pool."
+ },
+ "MetadataItem": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the metadata item."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the metadata item."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "A name-value pair associated with a Batch service resource.",
+ "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code."
+ },
+ "PoolSpecification": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the Pool.",
+ "description": "This property must be specified if the Pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the Pool.",
+ "description": "This property must be specified if the Pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "maxTasksPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of Tasks that can run concurrently on a single Compute Node in the Pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the Pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Compute Nodes to the Pool.",
+ "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "enableAutoScale": {
+ "type": "boolean",
+ "title": "Whether the Pool size should automatically adjust over time.",
+ "description": "If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The Pool automatically resizes according to the formula. The default value is false."
+ },
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "The formula for the desired number of Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "enableInterNodeCommunication": {
+ "type": "boolean",
+ "title": "Whether the Pool permits direct communication between Compute Nodes.",
+ "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "A list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail. The permitted licenses available on the Pool are 'maya', 'vray', '3dsmax', 'arnold'. An additional charge applies for each application license added to the Pool."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user Accounts to be created on each Compute Node in the Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "A list of file systems to mount on each node in the pool.",
+ "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse."
+ }
+ },
+ "required": [
+ "vmSize"
+ ],
+ "title": "Specification for creating a new Pool."
+ },
+ "AutoPoolSpecification": {
+ "properties": {
+ "autoPoolIdPrefix": {
+ "type": "string",
+ "title": "A prefix to be added to the unique identifier when a Pool is automatically created.",
+ "description": "The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long."
+ },
+ "poolLifetimeOption": {
+ "type": "string",
+ "title": "The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.",
+ "enum": [
+ "jobschedule",
+ "job"
+ ],
+ "x-ms-enum": {
+ "name": "PoolLifetimeOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "jobschedule",
+ "description": "The Pool exists for the lifetime of the Job Schedule. The Batch Service creates the Pool when it creates the first Job on the schedule. You may apply this option only to Job Schedules, not to Jobs.",
+ "name": "jobSchedule"
+ },
+ {
+ "value": "job",
+ "description": "The Pool exists for the lifetime of the Job to which it is dedicated. The Batch service creates the Pool when it creates the Job. If the 'job' option is applied to a Job Schedule, the Batch service creates a new auto Pool for every Job created on the schedule."
+ }
+ ]
+ }
+ },
+ "keepAlive": {
+ "type": "boolean",
+ "title": "Whether to keep an auto Pool alive after its lifetime expires.",
+ "description": "If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option."
+ },
+ "pool": {
+ "$ref": "#/definitions/PoolSpecification",
+ "title": "The Pool specification for the auto Pool."
+ }
+ },
+ "required": [
+ "poolLifetimeOption"
+ ],
+ "title": "Specifies characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted."
+ },
+ "PoolInformation": {
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of an existing Pool. All the Tasks of the Job will run on the specified Pool.",
+ "description": "You must ensure that the Pool referenced by this property exists. If the Pool does not exist at the time the Batch service tries to schedule a Job, no Tasks for the Job will run until you create a Pool with that id. Note that the Batch service will not reject the Job request; it will simply not run Tasks until the Pool exists. You must specify either the Pool ID or the auto Pool specification, but not both."
+ },
+ "autoPoolSpecification": {
+ "$ref": "#/definitions/AutoPoolSpecification",
+ "title": "Characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted.",
+ "description": "If auto Pool creation fails, the Batch service moves the Job to a completed state, and the Pool creation error is set in the Job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto Pool. Any user actions that affect the lifetime of the auto Pool while the Job is active will result in unexpected behavior. You must specify either the Pool ID or the auto Pool specification, but not both."
+ }
+ },
+ "title": "Specifies how a Job should be assigned to a Pool."
+ },
+ "JobSpecification": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of Jobs created under this schedule.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for Jobs created under this schedule.",
+ "description": "The name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "usesTaskDependencies": {
+ "type": "boolean",
+ "title": "Whether Tasks in the Job can define dependencies on each other. The default is false."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state.",
+ "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "onTaskFailure": {
+ "title": "The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error.",
+ "description": "The default is noaction.",
+ "$ref": "#/definitions/OnTaskFailure"
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/JobNetworkConfiguration",
+ "title": "The network configuration for the Job."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for Jobs created under this schedule."
+ },
+ "jobManagerTask": {
+ "$ref": "#/definitions/JobManagerTask",
+ "title": "The details of a Job Manager Task to be launched when a Job is started under this schedule.",
+ "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job using the Task API. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job."
+ },
+ "jobPreparationTask": {
+ "$ref": "#/definitions/JobPreparationTask",
+ "title": "The Job Preparation Task for Jobs created under this schedule.",
+ "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node."
+ },
+ "jobReleaseTask": {
+ "$ref": "#/definitions/JobReleaseTask",
+ "title": "The Job Release Task for Jobs created under this schedule.",
+ "description": "The primary purpose of the Job Release Task is to undo changes to Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation. A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Compute Nodes that have run the Job Preparation Task."
+ },
+ "commonEnvironmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of common environment variable settings. These environment variables are set for all Tasks in Jobs created under this schedule (including the Job Manager, Job Preparation and Job Release Tasks).",
+ "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Tasks of Jobs created under this schedule."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with each Job created under this schedule as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ }
+ },
+ "required": [
+ "poolInfo"
+ ],
+ "title": "Specifies details of the Jobs to be created on a schedule."
+ },
+ "RecentJob": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ID of the Job."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Job."
+ }
+ },
+ "title": "Information about the most recent Job to run under the Job Schedule."
+ },
+ "JobScheduleExecutionInformation": {
+ "properties": {
+ "nextRunTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The next time at which a Job will be created under this schedule.",
+ "description": "This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no Job will be created at nextRunTime unless the Job is enabled before then."
+ },
+ "recentJob": {
+ "$ref": "#/definitions/RecentJob",
+ "title": "Information about the most recent Job under the Job Schedule.",
+ "description": "This property is present only if the at least one Job has run under the schedule."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the schedule ended.",
+ "description": "This property is set only if the Job Schedule is in the completed state."
+ }
+ },
+ "title": "Contains information about Jobs that have been and will be run under a Job Schedule."
+ },
+ "JobScheduleStatistics": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL of the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "userCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule."
+ },
+ "kernelCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule."
+ },
+ "wallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wall clock time of all the Tasks in all the Jobs created under the schedule.",
+ "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries."
+ },
+ "readIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations made by all Tasks in all Jobs created under the schedule."
+ },
+ "writeIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations made by all Tasks in all Jobs created under the schedule."
+ },
+ "readIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes read from disk by all Tasks in all Jobs created under the schedule."
+ },
+ "writeIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes written to disk by all Tasks in all Jobs created under the schedule."
+ },
+ "numSucceededTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks successfully completed during the given time range in Jobs created under the schedule. A Task completes successfully if it returns exit code 0."
+ },
+ "numFailedTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks that failed during the given time range in Jobs created under the schedule. A Task fails if it exhausts its maximum retry count without returning exit code 0."
+ },
+ "numTaskRetries": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of retries during the given time range on all Tasks in all Jobs created under the schedule."
+ },
+ "waitTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wait time of all Tasks in all Jobs created under the schedule. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)",
+ "description": "This value is only reported in the Account lifetime statistics; it is not included in the Job statistics."
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime",
+ "userCPUTime",
+ "kernelCPUTime",
+ "wallClockTime",
+ "readIOps",
+ "writeIOps",
+ "readIOGiB",
+ "writeIOGiB",
+ "numSucceededTasks",
+ "numFailedTasks",
+ "numTaskRetries",
+ "waitTime"
+ ],
+ "title": "Resource usage statistics for a Job Schedule."
+ },
+ "CloudJobSchedule": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the schedule within the Account."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the schedule."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Job Schedule."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Job Schedule.",
+ "description": "This is an opaque string. You can use it to detect whether the Job Schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Job Schedule.",
+ "description": "This is the last time at which the schedule level data, such as the Job specification or recurrence information, changed. It does not factor in job-level changes such as new Jobs being created or Jobs changing state."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Job Schedule."
+ },
+ "state": {
+ "title": "The current state of the Job Schedule.",
+ "$ref": "#/definitions/JobScheduleState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Schedule entered the current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Job Schedule.",
+ "description": "This property is not present if the Job Schedule is in its initial active state.",
+ "$ref": "#/definitions/JobScheduleState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Schedule entered its previous state.",
+ "description": "This property is not present if the Job Schedule is in its initial active state."
+ },
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "The details of the Jobs to be created on this schedule."
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/JobScheduleExecutionInformation",
+ "title": "Information about Jobs that have been and will be run under this schedule."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the schedule as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "stats": {
+ "$ref": "#/definitions/JobScheduleStatistics",
+ "title": "The lifetime resource usage statistics for the Job Schedule. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ }
+ },
+ "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job."
+ },
+ "JobScheduleAddParameter": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the schedule within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the schedule.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "The details of the Jobs to be created on this schedule."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the schedule as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ }
+ },
+ "required": [
+ "id",
+ "schedule",
+ "jobSpecification"
+ ],
+ "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job."
+ },
+ "CloudJobScheduleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudJobSchedule"
+ },
+ "title": "The list of Job Schedules."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Job Schedules in an Account."
+ },
+ "JobSchedulingError": {
+ "properties": {
+ "category": {
+ "title": "The category of the Job scheduling error.",
+ "$ref": "#/definitions/ErrorCategory"
+ },
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Job scheduling error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the scheduling error."
+ }
+ },
+ "required": [
+ "category"
+ ],
+ "title": "An error encountered by the Batch service when scheduling a Job."
+ },
+ "JobExecutionInformation": {
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the Job.",
+ "description": "This is the time at which the Job was created."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The completion time of the Job.",
+ "description": "This property is set only if the Job is in the completed state."
+ },
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool to which this Job is assigned.",
+ "description": "This element contains the actual Pool where the Job is assigned. When you get Job details from the service, they also contain a poolInfo element, which contains the Pool configuration data from when the Job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the Job ran on an auto Pool, and this property contains the ID of that auto Pool."
+ },
+ "schedulingError": {
+ "$ref": "#/definitions/JobSchedulingError",
+ "title": "Details of any error encountered by the service in starting the Job.",
+ "description": "This property is not set if there was no error starting the Job."
+ },
+ "terminateReason": {
+ "type": "string",
+ "title": "A string describing the reason the Job ended.",
+ "description": "This property is set only if the Job is in the completed state. If the Batch service terminates the Job, it sets the reason as follows: JMComplete - the Job Manager Task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the Job reached its maxWallClockTime constraint. TerminateJobSchedule - the Job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the Job's onAllTasksComplete attribute is set to terminatejob, and all Tasks in the Job are complete. TaskFailed - the Job's onTaskFailure attribute is set to performExitOptionsJobAction, and a Task in the Job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a Job' operation."
+ }
+ },
+ "required": [
+ "startTime"
+ ],
+ "title": "Contains information about the execution of a Job in the Azure Batch service."
+ },
+ "CloudJob": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job within the Account.",
+ "description": "The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Job."
+ },
+ "usesTaskDependencies": {
+ "type": "boolean",
+ "title": "Whether Tasks in the Job can define dependencies on each other. The default is false."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Job."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Job.",
+ "description": "This is an opaque string. You can use it to detect whether the Job has changed between requests. In particular, you can be pass the ETag when updating a Job to specify that your changes should take effect only if nobody else has modified the Job in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Job.",
+ "description": "This is the last time at which the Job level data, such as the Job state or priority, changed. It does not factor in task-level changes such as adding new Tasks or Tasks changing state."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Job."
+ },
+ "state": {
+ "title": "The current state of the Job.",
+ "$ref": "#/definitions/JobState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Job.",
+ "description": "This property is not set if the Job is in its initial Active state.",
+ "$ref": "#/definitions/JobState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job entered its previous state.",
+ "description": "This property is not set if the Job is in its initial Active state."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for the Job."
+ },
+ "jobManagerTask": {
+ "$ref": "#/definitions/JobManagerTask",
+ "title": "Details of a Job Manager Task to be launched when the Job is started."
+ },
+ "jobPreparationTask": {
+ "$ref": "#/definitions/JobPreparationTask",
+ "title": "The Job Preparation Task.",
+ "description": "The Job Preparation Task is a special Task run on each Compute Node before any other Task of the Job."
+ },
+ "jobReleaseTask": {
+ "$ref": "#/definitions/JobReleaseTask",
+ "title": "The Job Release Task.",
+ "description": "The Job Release Task is a special Task run at the end of the Job on each Compute Node that has run any other Task of the Job."
+ },
+ "commonEnvironmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).",
+ "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool settings associated with the Job."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "The default is noaction.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "onTaskFailure": {
+ "title": "The action the Batch service should take when any Task in the Job fails.",
+ "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.",
+ "$ref": "#/definitions/OnTaskFailure"
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/JobNetworkConfiguration",
+ "title": "The network configuration for the Job."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/JobExecutionInformation",
+ "title": "The execution information for the Job."
+ },
+ "stats": {
+ "$ref": "#/definitions/JobStatistics",
+ "title": "Resource usage statistics for the entire lifetime of the Job.",
+ "description": "This property is populated only if the CloudJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ }
+ },
+ "title": "An Azure Batch Job."
+ },
+ "JobAddParameter": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Job.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "description": "The execution constraints for the Job."
+ },
+ "jobManagerTask": {
+ "$ref": "#/definitions/JobManagerTask",
+ "title": "Details of a Job Manager Task to be launched when the Job is started.",
+ "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job. The Job Manager Task's typical purpose is to control and/or monitor Job execution, for example by deciding what additional Tasks to run, determining when the work is complete, etc. (However, a Job Manager Task is not restricted to these activities - it is a fully-fledged Task in the system and perform whatever actions are required for the Job.) For example, a Job Manager Task might download a file specified as a parameter, analyze the contents of that file and submit additional Tasks based on those contents."
+ },
+ "jobPreparationTask": {
+ "$ref": "#/definitions/JobPreparationTask",
+ "title": "The Job Preparation Task.",
+ "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node."
+ },
+ "jobReleaseTask": {
+ "$ref": "#/definitions/JobReleaseTask",
+ "title": "The Job Release Task.",
+ "description": "A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Nodes that have run the Job Preparation Task. The primary purpose of the Job Release Task is to undo changes to Compute Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation."
+ },
+ "commonEnvironmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).",
+ "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Job's Tasks."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "onTaskFailure": {
+ "title": "The action the Batch service should take when any Task in the Job fails.",
+ "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.",
+ "$ref": "#/definitions/OnTaskFailure"
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "usesTaskDependencies": {
+ "type": "boolean",
+ "title": "Whether Tasks in the Job can define dependencies on each other. The default is false."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/JobNetworkConfiguration",
+ "title": "The network configuration for the Job."
+ }
+ },
+ "required": [
+ "id",
+ "poolInfo"
+ ],
+ "title": "An Azure Batch Job to add."
+ },
+ "CloudJobListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudJob"
+ },
+ "title": "The list of Jobs."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Jobs in an Account."
+ },
+ "TaskContainerExecutionInformation": {
+ "properties": {
+ "containerId": {
+ "type": "string",
+ "title": "The ID of the container."
+ },
+ "state": {
+ "type": "string",
+ "title": "The state of the container.",
+ "description": "This is the state of the container according to the Docker service. It is equivalent to the status field returned by \"docker inspect\"."
+ },
+ "error": {
+ "type": "string",
+ "title": "Detailed error information about the container.",
+ "description": "This is the detailed error string from the Docker service, if available. It is equivalent to the error field returned by \"docker inspect\"."
+ }
+ },
+ "title": "Contains information about the container which a Task is executing."
+ },
+ "TaskFailureInformation": {
+ "properties": {
+ "category": {
+ "title": "The category of the Task error.",
+ "$ref": "#/definitions/ErrorCategory"
+ },
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Task error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional details related to the error."
+ }
+ },
+ "required": [
+ "category"
+ ],
+ "title": "Information about a Task failure."
+ },
+ "JobPreparationTaskExecutionInformation": {
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task started running.",
+ "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Preparation Task completed.",
+ "description": "This property is set only if the Task is in the Completed state."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Job Preparation Task on the Compute Node.",
+ "enum": [
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "JobPreparationTaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "running",
+ "description": "The Task is currently running (including retrying)."
+ },
+ {
+ "value": "completed",
+ "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)."
+ }
+ ]
+ }
+ },
+ "taskRootDirectory": {
+ "type": "string",
+ "title": "The root directory of the Job Preparation Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files."
+ },
+ "taskRootDirectoryUrl": {
+ "type": "string",
+ "title": "The URL to the root directory of the Job Preparation Task on the Compute Node."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the Task command line.",
+ "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "retryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been retried by the Batch service. Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints.",
+ "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints."
+ },
+ "lastRetryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which a retry of the Job Preparation Task started running.",
+ "description": "This property is set only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "startTime",
+ "retryCount",
+ "state"
+ ],
+ "title": "Contains information about the execution of a Job Preparation Task on a Compute Node."
+ },
+ "JobReleaseTaskExecutionInformation": {
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task started running.",
+ "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Release Task completed.",
+ "description": "This property is set only if the Task is in the Completed state."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Job Release Task on the Compute Node.",
+ "enum": [
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "JobReleaseTaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "running",
+ "description": "The Task is currently running (including retrying)."
+ },
+ {
+ "value": "completed",
+ "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)."
+ }
+ ]
+ }
+ },
+ "taskRootDirectory": {
+ "type": "string",
+ "title": "The root directory of the Job Release Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files."
+ },
+ "taskRootDirectoryUrl": {
+ "type": "string",
+ "title": "The URL to the root directory of the Job Release Task on the Compute Node."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the Task command line.",
+ "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "startTime",
+ "state"
+ ],
+ "title": "Contains information about the execution of a Job Release Task on a Compute Node."
+ },
+ "JobPreparationAndReleaseTaskExecutionInformation": {
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool containing the Compute Node to which this entry refers."
+ },
+ "nodeId": {
+ "type": "string",
+ "title": "The ID of the Compute Node to which this entry refers."
+ },
+ "nodeUrl": {
+ "type": "string",
+ "title": "The URL of the Compute Node to which this entry refers."
+ },
+ "jobPreparationTaskExecutionInfo": {
+ "$ref": "#/definitions/JobPreparationTaskExecutionInformation",
+ "title": "Information about the execution status of the Job Preparation Task on this Compute Node."
+ },
+ "jobReleaseTaskExecutionInfo": {
+ "$ref": "#/definitions/JobReleaseTaskExecutionInformation",
+ "title": "Information about the execution status of the Job Release Task on this Compute Node.",
+ "description": "This property is set only if the Job Release Task has run on the Compute Node."
+ }
+ },
+ "title": "The status of the Job Preparation and Job Release Tasks on a Compute Node."
+ },
+ "CloudJobListPreparationAndReleaseTaskStatusResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobPreparationAndReleaseTaskExecutionInformation"
+ },
+ "title": "A list of Job Preparation and Job Release Task execution information."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the status of the Job Preparation and Job Release Tasks for a Job."
+ },
+ "TaskCounts": {
+ "properties": {
+ "active": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks in the active state."
+ },
+ "running": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks in the running or preparing state."
+ },
+ "completed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks in the completed state."
+ },
+ "succeeded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks which succeeded. A Task succeeds if its result (found in the executionInfo property) is 'success'."
+ },
+ "failed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks which failed. A Task fails if its result (found in the executionInfo property) is 'failure'."
+ }
+ },
+ "required": [
+ "active",
+ "running",
+ "completed",
+ "succeeded",
+ "failed"
+ ],
+ "title": "The Task counts for a Job."
+ },
+ "AutoScaleRunError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the autoscale error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the autoscale error."
+ }
+ },
+ "title": "An error that occurred when executing or evaluating a Pool autoscale formula."
+ },
+ "AutoScaleRun": {
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the autoscale formula was last evaluated."
+ },
+ "results": {
+ "type": "string",
+ "title": "The final values of all variables used in the evaluation of the autoscale formula.",
+ "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons."
+ },
+ "error": {
+ "$ref": "#/definitions/AutoScaleRunError",
+ "title": "Details of the error encountered evaluating the autoscale formula on the Pool, if the evaluation was unsuccessful."
+ }
+ },
+ "required": [
+ "timestamp"
+ ],
+ "title": "The results and errors from an execution of a Pool autoscale formula."
+ },
+ "ResizeError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Pool resize error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Pool resize error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the Pool resize error."
+ }
+ },
+ "title": "An error that occurred when resizing a Pool."
+ },
+ "CloudServiceConfiguration": {
+ "properties": {
+ "osFamily": {
+ "type": "string",
+ "title": "The Azure Guest OS family to be installed on the virtual machines in the Pool.",
+ "description": "Possible values are:\n2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1.\n3 - OS Family 3, equivalent to Windows Server 2012.\n4 - OS Family 4, equivalent to Windows Server 2012 R2.\n5 - OS Family 5, equivalent to Windows Server 2016.\n6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)."
+ },
+ "osVersion": {
+ "type": "string",
+ "title": "The Azure Guest OS version to be installed on the virtual machines in the Pool.",
+ "description": "The default value is * which specifies the latest operating system version for the specified OS family."
+ }
+ },
+ "required": [
+ "osFamily"
+ ],
+ "title": "The configuration for Compute Nodes in a Pool based on the Azure Cloud Services platform."
+ },
+ "ImageReference": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "title": "The publisher of the Azure Virtual Machines Marketplace Image.",
+ "description": "For example, Canonical or MicrosoftWindowsServer."
+ },
+ "offer": {
+ "type": "string",
+ "title": "The offer type of the Azure Virtual Machines Marketplace Image.",
+ "description": "For example, UbuntuServer or WindowsServer."
+ },
+ "sku": {
+ "type": "string",
+ "title": "The SKU of the Azure Virtual Machines Marketplace Image.",
+ "description": "For example, 18.04-LTS or 2019-Datacenter."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the Azure Virtual Machines Marketplace Image.",
+ "description": "A value of 'latest' can be specified to select the latest version of an Image. If omitted, the default is 'latest'."
+ },
+ "virtualMachineImageId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.",
+ "description": "This property is mutually exclusive with other ImageReference properties. For Virtual Machine Image it must be in the same region and subscription as the Azure Batch account. The Shared Image Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
+ }
+ },
+ "title": "A reference to an Azure Virtual Machines Marketplace Image or a custom Azure Virtual Machine Image. To get the list of all Azure Marketplace Image references verified by Azure Batch, see the 'List supported Images' operation."
+ },
+ "WindowsConfiguration": {
+ "properties": {
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "title": "Whether automatic updates are enabled on the virtual machine.",
+ "description": "If omitted, the default value is true."
+ }
+ },
+ "title": "Windows operating system settings to apply to the virtual machine."
+ },
+ "DataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The logical unit number.",
+ "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun."
+ },
+ "caching": {
+ "$ref": "#/definitions/CachingType",
+ "title": "The type of caching to be enabled for the data disks.",
+ "description": "The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The initial disk size in gigabytes."
+ },
+ "storageAccountType": {
+ "title": "The storage Account type to be used for the data disk.",
+ "description": "If omitted, the default is \"standard_lrs\".",
+ "$ref": "#/definitions/StorageAccountType"
+ }
+ },
+ "required": [
+ "lun",
+ "diskSizeGB"
+ ],
+ "title": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them."
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "title": "The storage Account type for use in creating data disks.",
+ "enum": [
+ "standard_lrs",
+ "premium_lrs"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "standard_lrs",
+ "description": "The data disk should use standard locally redundant storage.",
+ "name": "StandardLRS"
+ },
+ {
+ "value": "premium_lrs",
+ "description": "The data disk should use premium locally redundant storage.",
+ "name": "PremiumLRS"
+ }
+ ]
+ }
+ },
+ "CachingType": {
+ "type": "string",
+ "title": "The type of caching to enable for the disk.",
+ "description": "The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.",
+ "enum": [
+ "none",
+ "readonly",
+ "readwrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "none",
+ "description": "The caching mode for the disk is not enabled."
+ },
+ {
+ "value": "readonly",
+ "description": "The caching mode for the disk is read only.",
+ "name": "readOnly"
+ },
+ {
+ "value": "readwrite",
+ "description": "The caching mode for the disk is read and write.",
+ "name": "readWrite"
+ }
+ ]
+ }
+ },
+ "VirtualMachineConfiguration": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use."
+ },
+ "nodeAgentSKUId": {
+ "type": "string",
+ "title": "The SKU of the Batch Compute Node agent to be provisioned on Compute Nodes in the Pool.",
+ "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool, and provides the command-and-control interface between the Compute Node and the Batch service. There are different implementations of the Compute Node agent, known as SKUs, for different operating systems. You must specify a Compute Node agent SKU which matches the selected Image reference. To get the list of supported Compute Node agent SKUs along with their list of verified Image references, see the 'List supported Compute Node agent SKUs' operation."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "title": "Windows operating system settings on the virtual machine.",
+ "description": "This property must not be specified if the imageReference property specifies a Linux OS Image."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "title": "The configuration for data disks attached to the Compute Nodes in the Pool.",
+ "description": "This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine."
+ },
+ "licenseType": {
+ "type": "string",
+ "title": "The type of on-premises license to be used when deploying the operating system.",
+ "description": "This only applies to Images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the Compute Nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n"
+ },
+ "containerConfiguration": {
+ "$ref": "#/definitions/ContainerConfiguration",
+ "title": "The container configuration for the Pool.",
+ "description": "If specified, setup is performed on each Compute Node in the Pool to allow Tasks to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify the containerSettings property, and all other Tasks may specify it."
+ },
+ "diskEncryptionConfiguration": {
+ "$ref": "#/definitions/DiskEncryptionConfiguration",
+ "title": "The disk encryption configuration for the pool.",
+ "description": "If specified, encryption is performed on each node in the pool during node provisioning."
+ }
+ },
+ "required": [
+ "nodeAgentSKUId",
+ "imageReference"
+ ],
+ "title": "The configuration for Compute Nodes in a Pool based on the Azure Virtual Machines infrastructure."
+ },
+ "ContainerRegistry": {
+ "properties": {
+ "registryServer": {
+ "type": "string",
+ "title": "The registry URL.",
+ "description": "If omitted, the default is \"docker.io\"."
+ },
+ "username": {
+ "type": "string",
+ "x-ms-client-name": "userName",
+ "title": "The user name to log into the registry server."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to log into the registry server."
+ }
+ },
+ "required": [
+ "username",
+ "password"
+ ],
+ "title": "A private container registry."
+ },
+ "ContainerConfiguration": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "title": "The container technology to be used.",
+ "enum": [
+ "dockerCompatible"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "dockerCompatible",
+ "description": "A Docker compatible container technology will be used to launch the containers."
+ }
+ ]
+ }
+ },
+ "containerImageNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The collection of container Image names.",
+ "description": "This is the full Image reference, as would be specified to \"docker pull\". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry."
+ },
+ "containerRegistries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistry"
+ },
+ "title": "Additional private registries from which containers can be pulled.",
+ "description": "If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "The configuration for container-enabled Pools."
+ },
+ "DiskEncryptionConfiguration": {
+ "properties": {
+ "targets": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "title": "The disks to encrypt on each compute node.",
+ "description": "If omitted, no disks on the compute nodes in the pool will be encrypted.",
+ "enum": [
+ "osdisk",
+ "temporarydisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionTarget",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "osdisk",
+ "description": "The OS Disk on the compute node is encrypted.",
+ "name": "OsDisk"
+ },
+ {
+ "value": "temporarydisk",
+ "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.",
+ "name": "TemporaryDisk"
+ }
+ ]
+ }
+ },
+ "title": "The list of disk targets Batch Service will encrypt on the compute node",
+ "description": "On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified."
+ }
+ },
+ "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Shared Image Gallery Image."
+ },
+ "IPAddressProvisioningType": {
+ "type": "string",
+ "title": "The provisioning type for Public IP Addresses for the Pool.",
+ "enum": [
+ "batchmanaged",
+ "usermanaged",
+ "nopublicipaddresses"
+ ],
+ "x-ms-enum": {
+ "name": "IPAddressProvisioningType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "batchmanaged",
+ "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool.",
+ "name": "batchManaged"
+ },
+ {
+ "value": "usermanaged",
+ "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes.",
+ "name": "userManaged"
+ },
+ {
+ "value": "nopublicipaddresses",
+ "description": "No public IP Address will be created.",
+ "name": "noPublicIPAddresses"
+ }
+ ]
+ }
+ },
+ "PublicIPAddressConfiguration": {
+ "properties": {
+ "provision": {
+ "$ref": "#/definitions/IPAddressProvisioningType",
+ "title": "The provisioning type for Public IP Addresses for the Pool.",
+ "description": "The default value is BatchManaged."
+ },
+ "ipAddressIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.",
+ "description": "The number of IPs specified here limits the maximum size of the Pool - 50 dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a pool needing 150 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}."
+ }
+ },
+ "description": "The public IP Address configuration of the networking configuration of a Pool."
+ },
+ "NetworkConfiguration": {
+ "properties": {
+ "subnetId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.",
+ "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for Pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For Pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
+ "description": "Setting up RBAC for Azure Batch VNETs"
+ }
+ },
+ "dynamicVNetAssignmentScope": {
+ "type": "string",
+ "title": "The scope of dynamic vnet assignment.",
+ "enum": [
+ "none",
+ "job"
+ ],
+ "x-ms-enum": {
+ "name": "DynamicVNetAssignmentScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "none",
+ "description": "No dynamic VNet assignment is enabled."
+ },
+ {
+ "value": "job",
+ "description": "Dynamic VNet assignment is done per-job."
+ }
+ ]
+ }
+ },
+ "endpointConfiguration": {
+ "$ref": "#/definitions/PoolEndpointConfiguration",
+ "title": "The configuration for endpoints on Compute Nodes in the Batch Pool.",
+ "description": "Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/PublicIPAddressConfiguration",
+ "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.",
+ "description": "Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property."
+ }
+ },
+ "description": "The network configuration for a Pool."
+ },
+ "CloudPool": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Pool within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Pool."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Pool.",
+ "description": "This is an opaque string. You can use it to detect whether the Pool has changed between requests. In particular, you can be pass the ETag when updating a Pool to specify that your changes should take effect only if nobody else has modified the Pool in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Pool.",
+ "description": "This is the last time at which the Pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a Compute Node changing state."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Pool."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Pool.",
+ "enum": [
+ "active",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "PoolState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Pool is available to run Tasks subject to the availability of Compute Nodes."
+ },
+ {
+ "value": "deleting",
+ "description": "The user has requested that the Pool be deleted, but the delete operation has not yet completed."
+ }
+ ]
+ }
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Pool entered its current state."
+ },
+ "allocationState": {
+ "type": "string",
+ "title": "Whether the Pool is resizing.",
+ "enum": [
+ "steady",
+ "resizing",
+ "stopping"
+ ],
+ "x-ms-enum": {
+ "name": "AllocationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "steady",
+ "description": "The Pool is not resizing. There are no changes to the number of Compute Nodes in the Pool in progress. A Pool enters this state when it is created and when no operations are being performed on the Pool to change the number of Compute Nodes."
+ },
+ {
+ "value": "resizing",
+ "description": "The Pool is resizing; that is, Compute Nodes are being added to or removed from the Pool."
+ },
+ {
+ "value": "stopping",
+ "description": "The Pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed."
+ }
+ ]
+ }
+ },
+ "allocationStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Pool entered its current allocation state."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the Pool.",
+ "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the Pool.",
+ "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Compute Nodes to the Pool.",
+ "description": "This is the timeout for the most recent resize operation. (The initial sizing when the Pool is created counts as a resize.) The default value is 15 minutes."
+ },
+ "resizeErrors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResizeError"
+ },
+ "title": "A list of errors encountered while performing the last resize on the Pool.",
+ "description": "This property is set only if one or more errors occurred during the last Pool resize, and only when the Pool allocationState is Steady."
+ },
+ "currentDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of dedicated Compute Nodes currently in the Pool."
+ },
+ "currentLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of low-priority Compute Nodes currently in the Pool.",
+ "description": "Low-priority Compute Nodes which have been preempted are included in this count."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool."
+ },
+ "enableAutoScale": {
+ "type": "boolean",
+ "title": "Whether the Pool size should automatically adjust over time.",
+ "description": "If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false."
+ },
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "A formula for the desired number of Compute Nodes in the Pool.",
+ "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true."
+ },
+ "autoScaleRun": {
+ "$ref": "#/definitions/AutoScaleRun",
+ "title": "The results and errors from the last execution of the autoscale formula.",
+ "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true."
+ },
+ "enableInterNodeCommunication": {
+ "type": "boolean",
+ "title": "Whether the Pool permits direct communication between Compute Nodes.",
+ "description": "This imposes restrictions on which Compute Nodes can be assigned to the Pool. Specifying this value can reduce the chance of the requested number of Compute Nodes to be allocated in the Pool."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task specified to run on each Compute Node as it joins the Pool."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail."
+ },
+ "maxTasksPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of Tasks that can run concurrently on a single Compute Node in the Pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the Pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user Accounts to be created on each Compute Node in the Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata."
+ },
+ "stats": {
+ "$ref": "#/definitions/PoolStatistics",
+ "title": "Utilization and resource usage statistics for the entire lifetime of the Pool.",
+ "description": "This property is populated only if the CloudPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "A list of file systems to mount on each node in the pool.",
+ "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse."
+ }
+ },
+ "title": "A Pool in the Azure Batch service."
+ },
+ "PoolAddParameter": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Pool within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ },
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the Pool.",
+ "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the Pool.",
+ "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Compute Nodes to the Pool.",
+ "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "enableAutoScale": {
+ "type": "boolean",
+ "title": "Whether the Pool size should automatically adjust over time.",
+ "description": "If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false."
+ },
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "A formula for the desired number of Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/)."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "enableInterNodeCommunication": {
+ "type": "boolean",
+ "title": "Whether the Pool permits direct communication between Compute Nodes.",
+ "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task specified to run on each Compute Node as it joins the Pool.",
+ "description": "The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail."
+ },
+ "maxTasksPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of Tasks that can run concurrently on a single Compute Node in the Pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the Pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user Accounts to be created on each Compute Node in the Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "Mount storage using specified file system for the entire lifetime of the pool.",
+ "description": "Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system."
+ }
+ },
+ "required": [
+ "id",
+ "vmSize"
+ ],
+ "title": "A Pool in the Azure Batch service to add."
+ },
+ "ApplicationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationSummary"
+ },
+ "title": "The list of applications available in the Account."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the applications available in an Account."
+ },
+ "CloudPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudPool"
+ },
+ "title": "The list of Pools."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Pools in an Account."
+ },
+ "AffinityInformation": {
+ "properties": {
+ "affinityId": {
+ "type": "string",
+ "title": "An opaque string representing the location of a Compute Node or a Task that has run previously.",
+ "description": "You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere."
+ }
+ },
+ "required": [
+ "affinityId"
+ ],
+ "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start a Task."
+ },
+ "TaskExecutionInformation": {
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task started running.",
+ "description": "'Running' corresponds to the running state, so if the Task specifies resource files or Packages, then the start time reflects the time at which the Task started downloading or deploying these. If the Task has been restarted or retried, this is the most recent time at which the Task started running. This property is present only for Tasks that are in the running or completed state."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task completed.",
+ "description": "This property is set only if the Task is in the Completed state."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the Task command line.",
+ "description": "This property is set only if the Task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the Task (due to timeout, or user termination via the API) you may see an operating system-defined exit code."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "retryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been retried by the Batch service.",
+ "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints."
+ },
+ "lastRetryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which a retry of the Task started running.",
+ "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not."
+ },
+ "requeueCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been requeued by the Batch service as the result of a user request.",
+ "description": "When the user removes Compute Nodes from a Pool (by resizing/shrinking the pool) or when the Job is being disabled, the user can specify that running Tasks on the Compute Nodes be requeued for execution. This count tracks how many times the Task has been requeued for these reasons."
+ },
+ "lastRequeueTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which the Task has been requeued by the Batch service as the result of a user request.",
+ "description": "This property is set only if the requeueCount is nonzero."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "requeueCount",
+ "retryCount"
+ ],
+ "title": "Information about the execution of a Task."
+ },
+ "ComputeNodeInformation": {
+ "properties": {
+ "affinityId": {
+ "type": "string",
+ "title": "An identifier for the Node on which the Task ran, which can be passed when adding a Task to request that the Task be scheduled on this Compute Node."
+ },
+ "nodeUrl": {
+ "type": "string",
+ "title": "The URL of the Compute Node on which the Task ran. "
+ },
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool on which the Task ran."
+ },
+ "nodeId": {
+ "type": "string",
+ "title": "The ID of the Compute Node on which the Task ran."
+ },
+ "taskRootDirectory": {
+ "type": "string",
+ "title": "The root directory of the Task on the Compute Node."
+ },
+ "taskRootDirectoryUrl": {
+ "type": "string",
+ "title": "The URL to the root directory of the Task on the Compute Node."
+ }
+ },
+ "title": "Information about the Compute Node on which a Task ran."
+ },
+ "NodeAgentInformation": {
+ "properties": {
+ "version": {
+ "type": "string",
+ "title": "The version of the Batch Compute Node agent running on the Compute Node.",
+ "description": "This version number can be checked against the Compute Node agent release notes located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time when the Compute Node agent was updated on the Compute Node.",
+ "description": "This is the most recent time that the Compute Node agent was updated to a new version."
+ }
+ },
+ "required": [
+ "version",
+ "lastUpdateTime"
+ ],
+ "title": "Information about the Compute Node agent.",
+ "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool and provides Batch capability on the Compute Node."
+ },
+ "MultiInstanceSettings": {
+ "properties": {
+ "numberOfInstances": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes required by the Task.",
+ "description": "If omitted, the default is 1."
+ },
+ "coordinationCommandLine": {
+ "type": "string",
+ "title": "The command line to run on all the Compute Nodes to enable them to coordinate when the primary runs the main Task command.",
+ "description": "A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages."
+ },
+ "commonResourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download before running the coordination command line.",
+ "description": "The difference between common resource files and Task resource files is that common resource files are downloaded for all subtasks including the primary, whereas Task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the Task working directory, but instead are downloaded to the Task root directory (one directory above the working directory). There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ }
+ },
+ "required": [
+ "coordinationCommandLine"
+ ],
+ "title": "Settings which specify how to run a multi-instance Task.",
+ "description": "Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, if any of the subtasks fail (for example due to exiting with a non-zero exit code) the entire multi-instance Task fails. The multi-instance Task is then terminated and retried, up to its retry limit."
+ },
+ "TaskStatistics": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL of the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "userCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task."
+ },
+ "kernelCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task."
+ },
+ "wallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wall clock time of the Task.",
+ "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If the Task was retried, this includes the wall clock time of all the Task retries."
+ },
+ "readIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations made by the Task."
+ },
+ "writeIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations made by the Task."
+ },
+ "readIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes read from disk by the Task."
+ },
+ "writeIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes written to disk by the Task."
+ },
+ "waitTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wait time of the Task. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)"
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime",
+ "userCPUTime",
+ "kernelCPUTime",
+ "wallClockTime",
+ "readIOps",
+ "writeIOps",
+ "readIOGiB",
+ "writeIOGiB",
+ "waitTime"
+ ],
+ "title": "Resource usage statistics for a Task."
+ },
+ "TaskDependencies": {
+ "properties": {
+ "taskIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of Task IDs that this Task depends on. All Tasks in this list must complete successfully before the dependent Task can be scheduled.",
+ "description": "The taskIds collection is limited to 64000 characters total (i.e. the combined length of all Task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using Task ID ranges instead."
+ },
+ "taskIdRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskIdRange"
+ },
+ "title": "The list of Task ID ranges that this Task depends on. All Tasks in all ranges must complete successfully before the dependent Task can be scheduled."
+ }
+ },
+ "title": "Specifies any dependencies of a Task. Any Task that is explicitly specified or within a dependency range must complete before the dependant Task will be scheduled."
+ },
+ "TaskIdRange": {
+ "properties": {
+ "start": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first Task ID in the range."
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last Task ID in the range."
+ }
+ },
+ "title": "A range of Task IDs that a Task can depend on. All Tasks with IDs in the range must complete successfully before the dependent Task can be scheduled.",
+ "description": "The start and end of the range are inclusive. For example, if a range has start 9 and end 12, then it represents Tasks '9', '10', '11' and '12'.",
+ "required": [
+ "start",
+ "end"
+ ]
+ },
+ "CloudTask": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "A display name for the Task.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Task."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Task.",
+ "description": "This is an opaque string. You can use it to detect whether the Task has changed between requests. In particular, you can be pass the ETag when updating a Task to specify that your changes should take effect only if nobody else has modified the Task in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Task."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Task."
+ },
+ "exitConditions": {
+ "$ref": "#/definitions/ExitConditions",
+ "description": "How the Batch service should respond when the Task completes."
+ },
+ "state": {
+ "title": "The current state of the Task.",
+ "$ref": "#/definitions/TaskState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Task.",
+ "description": "This property is not set if the Task is in its initial Active state.",
+ "$ref": "#/definitions/TaskState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task entered its previous state.",
+ "description": "This property is not set if the Task is in its initial Active state."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Task.",
+ "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Task runs.",
+ "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "outputFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ },
+ "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.",
+ "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Task."
+ },
+ "affinityInfo": {
+ "$ref": "#/definitions/AffinityInformation",
+ "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "The execution constraints that apply to this Task."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/TaskExecutionInformation",
+ "title": "Information about the execution of the Task."
+ },
+ "nodeInfo": {
+ "$ref": "#/definitions/ComputeNodeInformation",
+ "title": "Information about the Compute Node on which the Task ran."
+ },
+ "multiInstanceSettings": {
+ "$ref": "#/definitions/MultiInstanceSettings",
+ "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task."
+ },
+ "stats": {
+ "$ref": "#/definitions/TaskStatistics",
+ "title": "Resource usage statistics for the Task."
+ },
+ "dependsOn": {
+ "$ref": "#/definitions/TaskDependencies",
+ "title": "The Tasks that this Task depends on.",
+ "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.",
+ "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails."
+ },
+ "authenticationTokenSettings": {
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations.",
+ "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.",
+ "$ref": "#/definitions/AuthenticationTokenSettings"
+ }
+ },
+ "title": "An Azure Batch Task.",
+ "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "TaskAddParameter": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "A display name for the Task.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Task.",
+ "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Task runs.",
+ "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "exitConditions": {
+ "$ref": "#/definitions/ExitConditions",
+ "description": "How the Batch service should respond when the Task completes."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "outputFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ },
+ "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.",
+ "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Task."
+ },
+ "affinityInfo": {
+ "$ref": "#/definitions/AffinityInformation",
+ "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "The execution constraints that apply to this Task.",
+ "description": "If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the Job, the maxWallClockTime is infinite, and the retentionTime is 7 days."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "multiInstanceSettings": {
+ "$ref": "#/definitions/MultiInstanceSettings",
+ "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task."
+ },
+ "dependsOn": {
+ "$ref": "#/definitions/TaskDependencies",
+ "title": "The Tasks that this Task depends on.",
+ "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled. If the Job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.",
+ "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails."
+ },
+ "authenticationTokenSettings": {
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations.",
+ "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.",
+ "$ref": "#/definitions/AuthenticationTokenSettings"
+ }
+ },
+ "required": [
+ "id",
+ "commandLine"
+ ],
+ "title": "An Azure Batch Task to add.",
+ "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "TaskAddCollectionParameter": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskAddParameter"
+ },
+ "maxItems": 100,
+ "title": "The collection of Tasks to add. The maximum count of Tasks is 100.",
+ "description": "The total serialized size of this collection must be less than 1MB. If it is greater than 1MB (for example if each Task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer Tasks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "title": "A collection of Azure Batch Tasks to add."
+ },
+ "TaskAddResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "title": "The status of the add Task request.",
+ "enum": [
+ "success",
+ "clienterror",
+ "servererror"
+ ],
+ "x-ms-enum": {
+ "name": "TaskAddStatus",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "success",
+ "description": "The Task was added successfully."
+ },
+ {
+ "value": "clienterror",
+ "description": "The Task failed to add due to a client error and should not be retried without modifying the request as appropriate.",
+ "name": "clientError"
+ },
+ {
+ "value": "servererror",
+ "description": "Task failed to add due to a server error and can be retried without modification.",
+ "name": "serverError"
+ }
+ ]
+ }
+ },
+ "taskId": {
+ "type": "string",
+ "title": "The ID of the Task for which this is the result."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Task, if the Task was successfully added.",
+ "description": "You can use this to detect whether the Task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the Job in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Task."
+ },
+ "location": {
+ "type": "string",
+ "title": "The URL of the Task, if the Task was successfully added."
+ },
+ "error": {
+ "$ref": "#/definitions/BatchError",
+ "title": "The error encountered while attempting to add the Task."
+ }
+ },
+ "required": [
+ "status",
+ "taskId"
+ ],
+ "title": "Result for a single Task added as part of an add Task collection operation."
+ },
+ "TaskAddCollectionResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskAddResult"
+ },
+ "title": "The results of the add Task collection operation."
+ }
+ },
+ "title": "The result of adding a collection of Tasks to a Job."
+ },
+ "SubtaskInformation": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The ID of the subtask."
+ },
+ "nodeInfo": {
+ "$ref": "#/definitions/ComputeNodeInformation",
+ "title": "Information about the Compute Node on which the subtask ran."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask completed.",
+ "description": "This property is set only if the subtask is in the Completed state."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the subtask command line.",
+ "description": "This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "state": {
+ "title": "The current state of the subtask.",
+ "$ref": "#/definitions/SubtaskState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the subtask.",
+ "description": "This property is not set if the subtask is in its initial running state.",
+ "$ref": "#/definitions/SubtaskState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask entered its previous state.",
+ "description": "This property is not set if the subtask is in its initial running state."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "title": "Information about an Azure Batch subtask."
+ },
+ "CloudTaskListSubtasksResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubtaskInformation"
+ },
+ "title": "The list of subtasks."
+ }
+ },
+ "title": "The result of listing the subtasks of a Task."
+ },
+ "CloudTaskListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudTask"
+ },
+ "title": "The list of Tasks."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Tasks in a Job."
+ },
+ "TaskInformation": {
+ "properties": {
+ "taskUrl": {
+ "type": "string",
+ "title": "The URL of the Task."
+ },
+ "jobId": {
+ "type": "string",
+ "title": "The ID of the Job to which the Task belongs."
+ },
+ "taskId": {
+ "type": "string",
+ "title": "The ID of the Task."
+ },
+ "subtaskId": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The ID of the subtask if the Task is a multi-instance Task."
+ },
+ "taskState": {
+ "title": "The current state of the Task.",
+ "$ref": "#/definitions/TaskState"
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/TaskExecutionInformation",
+ "title": "Information about the execution of the Task."
+ }
+ },
+ "required": [
+ "taskState"
+ ],
+ "title": "Information about a Task running on a Compute Node."
+ },
+ "StartTaskInformation": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "title": "The state of the StartTask on the Compute Node.",
+ "enum": [
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "StartTaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "running",
+ "description": "The StartTask is currently running."
+ },
+ {
+ "value": "completed",
+ "description": "The StartTask has exited with exit code 0, or the StartTask has failed and the retry limit has reached, or the StartTask process did not run due to Task preparation errors (such as resource file download failures)."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the StartTask started running.",
+ "description": "This value is reset every time the Task is restarted or retried (that is, this is the most recent time at which the StartTask started running)."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the StartTask stopped running.",
+ "description": "This is the end time of the most recent run of the StartTask, if that run has completed (even if that run failed and a retry is pending). This element is not present if the StartTask is currently running."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the StartTask command line.",
+ "description": "This property is set only if the StartTask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the StartTask (due to timeout, or user termination via the API) you may see an operating system-defined exit code."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "retryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been retried by the Batch service.",
+ "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints."
+ },
+ "lastRetryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which a retry of the Task started running.",
+ "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "state",
+ "startTime",
+ "retryCount"
+ ],
+ "title": "Information about a StartTask running on a Compute Node."
+ },
+ "ComputeNodeError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Compute Node error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Compute Node error, intended to be suitable for display in a user interface."
+ },
+ "errorDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "The list of additional error details related to the Compute Node error."
+ }
+ },
+ "title": "An error encountered by a Compute Node."
+ },
+ "ComputeNode": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ID of the Compute Node.",
+ "description": "Every Compute Node that is added to a Pool is assigned a unique ID. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new Compute Nodes."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Compute Node."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Compute Node.",
+ "description": "The low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available.",
+ "enum": [
+ "idle",
+ "rebooting",
+ "reimaging",
+ "running",
+ "unusable",
+ "creating",
+ "starting",
+ "waitingforstarttask",
+ "starttaskfailed",
+ "unknown",
+ "leavingpool",
+ "offline",
+ "preempted"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "idle",
+ "description": "The Compute Node is not currently running a Task."
+ },
+ {
+ "value": "rebooting",
+ "description": "The Compute Node is rebooting."
+ },
+ {
+ "value": "reimaging",
+ "description": "The Compute Node is reimaging."
+ },
+ {
+ "value": "running",
+ "description": "The Compute Node is running one or more Tasks (other than a StartTask)."
+ },
+ {
+ "value": "unusable",
+ "description": "The Compute Node cannot be used for Task execution due to errors."
+ },
+ {
+ "value": "creating",
+ "description": "The Batch service has obtained the underlying virtual machine from Azure Compute, but it has not yet started to join the Pool."
+ },
+ {
+ "value": "starting",
+ "description": "The Batch service is starting on the underlying virtual machine."
+ },
+ {
+ "value": "waitingforstarttask",
+ "description": "The StartTask has started running on the Compute Node, but waitForSuccess is set and the StartTask has not yet completed.",
+ "name": "waitingForStartTask"
+ },
+ {
+ "value": "starttaskfailed",
+ "description": "The StartTask has failed on the Compute Node (and exhausted all retries), and waitForSuccess is set. The Compute Node is not usable for running Tasks.",
+ "name": "startTaskFailed"
+ },
+ {
+ "value": "unknown",
+ "description": "The Batch service has lost contact with the Compute Node, and does not know its true state."
+ },
+ {
+ "value": "leavingpool",
+ "description": "The Compute Node is leaving the Pool, either because the user explicitly removed it or because the Pool is resizing or autoscaling down.",
+ "name": "leavingPool"
+ },
+ {
+ "value": "offline",
+ "description": "The Compute Node is not currently running a Task, and scheduling of new Tasks to the Compute Node is disabled."
+ },
+ {
+ "value": "preempted",
+ "description": "The low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available."
+ }
+ ]
+ }
+ },
+ "schedulingState": {
+ "type": "string",
+ "title": "Whether the Compute Node is available for Task scheduling.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "x-ms-enum": {
+ "name": "SchedulingState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "enabled",
+ "description": "Tasks can be scheduled on the Compute Node."
+ },
+ {
+ "value": "disabled",
+ "description": "No new Tasks will be scheduled on the Compute Node. Tasks already running on the Compute Node may still run to completion. All Compute Nodes start with scheduling enabled."
+ }
+ ]
+ }
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Compute Node entered its current state."
+ },
+ "lastBootTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last time at which the Compute Node was started.",
+ "description": "This property may not be present if the Compute Node state is unusable."
+ },
+ "allocationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which this Compute Node was allocated to the Pool.",
+ "description": "This is the time when the Compute Node was initially allocated and doesn't change once set. It is not updated when the Compute Node is service healed or preempted."
+ },
+ "ipAddress": {
+ "type": "string",
+ "title": "The IP address that other Nodes can use to communicate with this Compute Node.",
+ "description": "Every Compute Node that is added to a Pool is assigned a unique IP address. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new Compute Nodes."
+ },
+ "affinityId": {
+ "type": "string",
+ "title": "An identifier which can be passed when adding a Task to request that the Task be scheduled on this Compute Node.",
+ "description": "Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the virtual machine hosting the Compute Node.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "totalTasksRun": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of Job Tasks completed on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "runningTasksCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "totalTasksSucceeded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of Job Tasks which completed successfully (with exitCode 0) on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "recentTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskInformation"
+ },
+ "title": "A list of Tasks whose state has recently changed.",
+ "description": "This property is present only if at least one Task has run on this Compute Node since it was assigned to the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "The Task specified to run on the Compute Node as it joins the Pool."
+ },
+ "startTaskInfo": {
+ "$ref": "#/definitions/StartTaskInformation",
+ "title": "Runtime information about the execution of the StartTask on the Compute Node."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of Certificates installed on the Compute Node.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeNodeError"
+ },
+ "title": "The list of errors that are currently being encountered by the Compute Node."
+ },
+ "isDedicated": {
+ "type": "boolean",
+ "title": "Whether this Compute Node is a dedicated Compute Node. If false, the Compute Node is a low-priority Compute Node."
+ },
+ "endpointConfiguration": {
+ "$ref": "#/definitions/ComputeNodeEndpointConfiguration",
+ "title": "The endpoint configuration for the Compute Node."
+ },
+ "nodeAgentInfo": {
+ "$ref": "#/definitions/NodeAgentInformation",
+ "title": "Information about the Compute Node agent version and the time the Compute Node upgraded to a new version."
+ }
+ },
+ "title": "A Compute Node in the Batch service."
+ },
+ "PoolEndpointConfiguration": {
+ "properties": {
+ "inboundNATPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNATPool"
+ },
+ "title": "A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally.",
+ "description": "The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400."
+ }
+ },
+ "required": [
+ "inboundNATPools"
+ ],
+ "title": "The endpoint configuration for a Pool."
+ },
+ "InboundNATPool": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the endpoint.",
+ "description": "The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400."
+ },
+ "protocol": {
+ "$ref": "#/definitions/InboundEndpointProtocol",
+ "title": "The protocol of the endpoint."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The port number on the Compute Node.",
+ "description": "This must be unique within a Batch Pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeStart": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeEnd": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "networkSecurityGroupRules": {
+ "type": "array",
+ "title": "A list of network security group rules that will be applied to the endpoint.",
+ "description": "The maximum number of rules that can be specified across all the endpoints on a Batch Pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityGroupRule"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "protocol",
+ "backendPort",
+ "frontendPortRangeStart",
+ "frontendPortRangeEnd"
+ ],
+ "title": "A inbound NAT Pool that can be used to address specific ports on Compute Nodes in a Batch Pool externally."
+ },
+ "NetworkSecurityGroupRule": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority for this rule.",
+ "description": "Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400."
+ },
+ "access": {
+ "type": "string",
+ "title": "The action that should be taken for a specified IP address, subnet range or tag.",
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkSecurityGroupRuleAccess",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "allow",
+ "description": "Allow access."
+ },
+ {
+ "value": "deny",
+ "description": "Deny access."
+ }
+ ]
+ }
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "title": "The source address prefix or tag to match for the rule.",
+ "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The source port ranges to match for the rule.",
+ "description": "Valid values are '*' (for all ports 0 - 65535), a specific port (i.e. 22), or a port range (i.e. 100-200). The ports must be in the range of 0 to 65535. Each entry in this collection must not overlap any other entry (either a range or an individual port). If any other values are provided the request fails with HTTP status code 400. The default value is '*'."
+ }
+ },
+ "required": [
+ "priority",
+ "access",
+ "sourceAddressPrefix"
+ ],
+ "title": "A network security group rule to apply to an inbound endpoint."
+ },
+ "ComputeNodeEndpointConfiguration": {
+ "properties": {
+ "inboundEndpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundEndpoint"
+ },
+ "title": "The list of inbound endpoints that are accessible on the Compute Node."
+ }
+ },
+ "required": [
+ "inboundEndpoints"
+ ],
+ "title": "The endpoint configuration for the Compute Node."
+ },
+ "InboundEndpoint": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the endpoint."
+ },
+ "protocol": {
+ "$ref": "#/definitions/InboundEndpointProtocol",
+ "title": "The protocol of the endpoint."
+ },
+ "publicIPAddress": {
+ "type": "string",
+ "title": "The public IP address of the Compute Node."
+ },
+ "publicFQDN": {
+ "type": "string",
+ "title": "The public fully qualified domain name for the Compute Node."
+ },
+ "frontendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The public port number of the endpoint."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The backend port number of the endpoint."
+ }
+ },
+ "required": [
+ "name",
+ "protocol",
+ "publicIPAddress",
+ "publicFQDN",
+ "frontendPort",
+ "backendPort"
+ ],
+ "title": "An inbound endpoint on a Compute Node."
+ },
+ "ComputeNodeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeNode"
+ },
+ "title": "The list of Compute Nodes."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Compute Nodes in a Pool."
+ },
+ "ComputeNodeUser": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The user name of the Account."
+ },
+ "isAdmin": {
+ "type": "boolean",
+ "title": "Whether the Account should be an administrator on the Compute Node.",
+ "description": "The default value is false."
+ },
+ "expiryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Account should expire.",
+ "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password of the Account.",
+ "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property."
+ },
+ "sshPublicKey": {
+ "type": "string",
+ "title": "The SSH public key that can be used for remote login to the Compute Node.",
+ "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "A user Account for RDP or SSH access on a Compute Node."
+ },
+ "ComputeNodeGetRemoteLoginSettingsResult": {
+ "properties": {
+ "remoteLoginIPAddress": {
+ "type": "string",
+ "title": "The IP address used for remote login to the Compute Node."
+ },
+ "remoteLoginPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The port used for remote login to the Compute Node."
+ }
+ },
+ "required": [
+ "remoteLoginIPAddress",
+ "remoteLoginPort"
+ ],
+ "title": "The remote login settings for a Compute Node."
+ },
+ "JobSchedulePatchParameter": {
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created.",
+ "description": "If you do not specify this element, the existing schedule is left unchanged."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "The details of the Jobs to be created on this schedule.",
+ "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job Schedule as metadata.",
+ "description": "If you do not specify this element, existing metadata is left unchanged."
+ }
+ },
+ "title": "The set of changes to be made to a Job Schedule."
+ },
+ "JobScheduleUpdateParameter": {
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created.",
+ "description": "If you do not specify this element, it is equivalent to passing the default schedule: that is, a single Job scheduled to run immediately."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "Details of the Jobs to be created on this schedule.",
+ "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job Schedule as metadata.",
+ "description": "If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted."
+ }
+ },
+ "required": [
+ "schedule",
+ "jobSpecification"
+ ],
+ "title": "The set of changes to be made to a Job Schedule."
+ },
+ "JobDisableParameter": {
+ "properties": {
+ "disableTasks": {
+ "type": "string",
+ "title": "What to do with active Tasks associated with the Job.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "wait"
+ ],
+ "x-ms-enum": {
+ "name": "DisableJobOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Tasks and requeue them. The Tasks will run again when the Job is enabled."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again."
+ },
+ {
+ "value": "wait",
+ "description": "Allow currently running Tasks to complete."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "disableTasks"
+ ],
+ "title": "Options when disabling a Job."
+ },
+ "JobTerminateParameter": {
+ "properties": {
+ "terminateReason": {
+ "type": "string",
+ "title": "The text you want to appear as the Job's TerminateReason. The default is 'UserTerminate'."
+ }
+ },
+ "title": "Options when terminating a Job."
+ },
+ "JobPatchParameter": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the Job is left unchanged."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for the Job.",
+ "description": "If omitted, the existing execution constraints are left unchanged."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Job's Tasks.",
+ "description": "You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "If omitted, the existing Job metadata is left unchanged."
+ }
+ },
+ "title": "The set of changes to be made to a Job."
+ },
+ "JobUpdateParameter": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for the Job.",
+ "description": "If omitted, the constraints are cleared."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Job's Tasks.",
+ "description": "You may change the Pool for a Job only when the Job is disabled. The Update Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal)."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a Job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ }
+ },
+ "required": [
+ "poolInfo"
+ ],
+ "title": "The set of changes to be made to a Job."
+ },
+ "PoolEnableAutoScaleParameter": {
+ "properties": {
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "The formula for the desired number of Compute Nodes in the Pool.",
+ "description": "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued."
+ }
+ },
+ "title": "Options for enabling automatic scaling on a Pool."
+ },
+ "PoolEvaluateAutoScaleParameter": {
+ "properties": {
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "The formula for the desired number of Compute Nodes in the Pool.",
+ "description": "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)."
+ }
+ },
+ "required": [
+ "autoScaleFormula"
+ ],
+ "title": "Options for evaluating an automatic scaling formula on a Pool."
+ },
+ "PoolResizeParameter": {
+ "properties": {
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool.",
+ "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing.",
+ "description": "The default value is requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ }
+ },
+ "title": "Options for changing the size of a Pool."
+ },
+ "PoolUpdatePropertiesParameter": {
+ "properties": {
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.",
+ "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is removed from the Pool."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "A list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "This list replaces any existing Certificate references configured on the Pool. If you specify an empty collection, any existing Certificate references are removed from the Pool. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Application Packages to be installed on each Compute Node in the Pool.",
+ "description": "The list replaces any existing Application Package references on the Pool. Changes to Application Package references affect all new Compute Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Application Package references on any given Pool. If omitted, or if you specify an empty collection, any existing Application Packages references are removed from the Pool. A maximum of 10 references may be specified on a given Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool."
+ }
+ },
+ "required": [
+ "certificateReferences",
+ "metadata",
+ "applicationPackageReferences"
+ ],
+ "title": "The set of changes to be made to a Pool."
+ },
+ "PoolPatchParameter": {
+ "properties": {
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.",
+ "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is left unchanged."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "A list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "If this element is present, it replaces any existing Certificate references configured on the Pool. If omitted, any existing Certificate references are left unchanged. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged."
+ }
+ },
+ "title": "The set of changes to be made to a Pool."
+ },
+ "TaskUpdateParameter": {
+ "properties": {
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "Constraints that apply to this Task.",
+ "description": "If omitted, the Task is given the default constraints. For multi-instance Tasks, updating the retention time applies only to the primary Task and not subtasks."
+ }
+ },
+ "title": "The set of changes to be made to a Task."
+ },
+ "NodeUpdateUserParameter": {
+ "properties": {
+ "password": {
+ "type": "string",
+ "title": "The password of the Account.",
+ "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed."
+ },
+ "expiryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Account should expire.",
+ "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day."
+ },
+ "sshPublicKey": {
+ "type": "string",
+ "title": "The SSH public key that can be used for remote login to the Compute Node.",
+ "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed."
+ }
+ },
+ "title": "The set of changes to be made to a user Account on a Compute Node."
+ },
+ "NodeRebootParameter": {
+ "properties": {
+ "nodeRebootOption": {
+ "type": "string",
+ "title": "When to reboot the Compute Node and what to do with currently running Tasks.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion",
+ "retaineddata"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeRebootOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Restart the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Restart the Compute Node when all Tasks have completed.",
+ "name": "taskCompletion"
+ },
+ {
+ "value": "retaineddata",
+ "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Restart the Compute Node when all Task retention periods have expired.",
+ "name": "retainedData"
+ }
+ ]
+ }
+ }
+ },
+ "title": "Options for rebooting a Compute Node."
+ },
+ "NodeReimageParameter": {
+ "properties": {
+ "nodeReimageOption": {
+ "type": "string",
+ "title": "When to reimage the Compute Node and what to do with currently running Tasks.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion",
+ "retaineddata"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeReimageOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Reimage the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Reimage the Compute Node when all Tasks have completed.",
+ "name": "taskCompletion"
+ },
+ {
+ "value": "retaineddata",
+ "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Reimage the Compute Node when all Task retention periods have expired.",
+ "name": "retainedData"
+ }
+ ]
+ }
+ }
+ },
+ "title": "Options for reimaging a Compute Node."
+ },
+ "NodeDisableSchedulingParameter": {
+ "properties": {
+ "nodeDisableSchedulingOption": {
+ "type": "string",
+ "title": "What to do with currently running Tasks when disabling Task scheduling on the Compute Node.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion"
+ ],
+ "x-ms-enum": {
+ "name": "DisableComputeNodeSchedulingOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks may run again on other Compute Nodes, or when Task scheduling is re-enabled on this Compute Node. Enter offline state as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Enter offline state as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Enter offline state when all Tasks have completed.",
+ "name": "taskCompletion"
+ }
+ ]
+ }
+ }
+ },
+ "title": "Options for disabling scheduling on a Compute Node."
+ },
+ "NodeRemoveParameter": {
+ "properties": {
+ "nodeList": {
+ "type": "array",
+ "maxItems": 100,
+ "items": {
+ "type": "string"
+ },
+ "title": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for removal of Compute Nodes to the Pool.",
+ "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.",
+ "description": "The default value is requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ }
+ },
+ "required": [
+ "nodeList"
+ ],
+ "title": "Options for removing Compute Nodes from a Pool."
+ },
+ "OutputFile": {
+ "properties": {
+ "filePattern": {
+ "type": "string",
+ "title": "A pattern indicating which file(s) to upload.",
+ "description": "Both relative and absolute paths are supported. Relative paths are relative to the Task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with \".\" it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\\*.txt matches any file that does not start in '.' and ends with .txt in the Task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \\ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied."
+ },
+ "destination": {
+ "title": "The destination for the output file(s).",
+ "$ref": "#/definitions/OutputFileDestination"
+ },
+ "uploadOptions": {
+ "title": "Additional options for the upload operation, including under what conditions to perform the upload.",
+ "$ref": "#/definitions/OutputFileUploadOptions"
+ }
+ },
+ "required": [
+ "filePattern",
+ "destination",
+ "uploadOptions"
+ ],
+ "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process."
+ },
+ "OutputFileDestination": {
+ "properties": {
+ "container": {
+ "title": "A location in Azure blob storage to which files are uploaded.",
+ "$ref": "#/definitions/OutputFileBlobContainerDestination"
+ }
+ },
+ "title": "The destination to which a file should be uploaded."
+ },
+ "OutputFileBlobContainerDestination": {
+ "properties": {
+ "path": {
+ "type": "string",
+ "title": "The destination blob or virtual directory within the Azure Storage container.",
+ "description": "If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name."
+ },
+ "containerUrl": {
+ "type": "string",
+ "title": "The URL of the container within Azure Blob Storage to which to upload the file(s).",
+ "description": "The URL must include a Shared Access Signature (SAS) granting write permissions to the container."
+ }
+ },
+ "required": [
+ "containerUrl"
+ ],
+ "title": "Specifies a file upload destination within an Azure blob storage container."
+ },
+ "OutputFileUploadOptions": {
+ "properties": {
+ "uploadCondition": {
+ "title": "The conditions under which the Task output file or set of files should be uploaded.",
+ "description": "The default is taskcompletion.",
+ "$ref": "#/definitions/OutputFileUploadCondition"
+ }
+ },
+ "required": [
+ "uploadCondition"
+ ],
+ "title": "Details about an output file upload operation, including under what conditions to perform the upload."
+ },
+ "ErrorMessage": {
+ "properties": {
+ "lang": {
+ "type": "string",
+ "title": "The language code of the error message"
+ },
+ "value": {
+ "type": "string",
+ "title": "The text of the message."
+ }
+ },
+ "title": "An error message received in an Azure Batch error response."
+ },
+ "BatchErrorDetail": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "An identifier specifying the meaning of the Value property."
+ },
+ "value": {
+ "type": "string",
+ "title": "The additional information included with the error response."
+ }
+ },
+ "title": "An item of additional information included in an Azure Batch error response."
+ },
+ "BatchError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "$ref": "#/definitions/ErrorMessage",
+ "title": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchErrorDetail"
+ },
+ "title": "A collection of key-value pairs containing additional details about the error."
+ }
+ },
+ "title": "An error response received from the Azure Batch service."
+ },
+ "CertificateState": {
+ "type": "string",
+ "title": "The state of the Certificate.",
+ "enum": [
+ "active",
+ "deleting",
+ "deletefailed"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Certificate is available for use in Pools."
+ },
+ {
+ "value": "deleting",
+ "description": "The user has requested that the Certificate be deleted, but the delete operation has not yet completed. You may not reference the Certificate when creating or updating Pools."
+ },
+ {
+ "value": "deletefailed",
+ "description": "The user requested that the Certificate be deleted, but there are Pools that still have references to the Certificate, or it is still installed on one or more Nodes. (The latter can occur if the Certificate has been removed from the Pool, but the Compute Node has not yet restarted. Compute Nodes refresh their Certificates only when they restart.) You may use the cancel Certificate delete operation to cancel the delete, or the delete Certificate operation to retry the delete.",
+ "name": "deleteFailed"
+ }
+ ]
+ }
+ },
+ "ElevationLevel": {
+ "type": "string",
+ "title": "The elevation level of the user.",
+ "enum": [
+ "nonadmin",
+ "admin"
+ ],
+ "x-ms-enum": {
+ "name": "ElevationLevel",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "nonadmin",
+ "description": "The user is a standard user without elevated access.",
+ "name": "nonAdmin"
+ },
+ {
+ "value": "admin",
+ "description": "The user is a user with elevated access and operates with full Administrator permissions."
+ }
+ ]
+ }
+ },
+ "JobScheduleState": {
+ "type": "string",
+ "title": "The state of the Job Schedule.",
+ "enum": [
+ "active",
+ "completed",
+ "disabled",
+ "terminating",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "JobScheduleState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Job Schedule is active and will create Jobs as per its schedule."
+ },
+ {
+ "value": "completed",
+ "description": "The Job Schedule has terminated, either by reaching its end time or by the user terminating it explicitly."
+ },
+ {
+ "value": "disabled",
+ "description": "The user has disabled the Job Schedule. The scheduler will not initiate any new Jobs will on this schedule, but any existing active Job will continue to run."
+ },
+ {
+ "value": "terminating",
+ "description": "The Job Schedule has no more work to do, or has been explicitly terminated by the user, but the termination operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, nor is any existing Job active."
+ },
+ {
+ "value": "deleting",
+ "description": "The user has requested that the Job Schedule be deleted, but the delete operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, and will delete any existing Jobs and Tasks under the Job Schedule, including any active Job. The Job Schedule will be deleted when all Jobs and Tasks under the Job Schedule have been deleted."
+ }
+ ]
+ }
+ },
+ "JobState": {
+ "type": "string",
+ "title": "The state of the Job.",
+ "enum": [
+ "active",
+ "disabling",
+ "disabled",
+ "enabling",
+ "terminating",
+ "completed",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "JobState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Job is available to have Tasks scheduled."
+ },
+ {
+ "value": "disabling",
+ "description": "A user has requested that the Job be disabled, but the disable operation is still in progress (for example, waiting for Tasks to terminate)."
+ },
+ {
+ "value": "disabled",
+ "description": "A user has disabled the Job. No Tasks are running, and no new Tasks will be scheduled."
+ },
+ {
+ "value": "enabling",
+ "description": "A user has requested that the Job be enabled, but the enable operation is still in progress."
+ },
+ {
+ "value": "terminating",
+ "description": "The Job is about to complete, either because a Job Manager Task has completed or because the user has terminated the Job, but the terminate operation is still in progress (for example, because Job Release Tasks are running)."
+ },
+ {
+ "value": "completed",
+ "description": "All Tasks have terminated, and the system will not accept any more Tasks or any further changes to the Job."
+ },
+ {
+ "value": "deleting",
+ "description": "A user has requested that the Job be deleted, but the delete operation is still in progress (for example, because the system is still terminating running Tasks)."
+ }
+ ]
+ }
+ },
+ "OnAllTasksComplete": {
+ "type": "string",
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "enum": [
+ "noaction",
+ "terminatejob"
+ ],
+ "x-ms-enum": {
+ "name": "OnAllTasksComplete",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "noaction",
+ "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.",
+ "name": "noAction"
+ },
+ {
+ "value": "terminatejob",
+ "description": "Terminate the Job. The Job's terminateReason is set to 'AllTasksComplete'.",
+ "name": "terminateJob"
+ }
+ ]
+ }
+ },
+ "OnTaskFailure": {
+ "type": "string",
+ "title": "The action the Batch service should take when any Task in the Job fails.",
+ "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.",
+ "enum": [
+ "noaction",
+ "performexitoptionsjobaction"
+ ],
+ "x-ms-enum": {
+ "name": "OnTaskFailure",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "noaction",
+ "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.",
+ "name": "noAction"
+ },
+ {
+ "value": "performexitoptionsjobaction",
+ "description": "Take the action associated with the Task exit condition in the Task's exitConditions collection. (This may still result in no action being taken, if that is what the Task specifies.)",
+ "name": "performExitOptionsJobAction"
+ }
+ ]
+ }
+ },
+ "ErrorCategory": {
+ "type": "string",
+ "title": "The category of the error.",
+ "enum": [
+ "usererror",
+ "servererror"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCategory",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "usererror",
+ "description": "The error is due to a user issue, such as misconfiguration.",
+ "name": "userError"
+ },
+ {
+ "value": "servererror",
+ "description": "The error is due to an internal server issue.",
+ "name": "serverError"
+ }
+ ]
+ }
+ },
+ "TaskState": {
+ "type": "string",
+ "title": "The state of the Task.",
+ "enum": [
+ "active",
+ "preparing",
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "TaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Task is queued and able to run, but is not currently assigned to a Compute Node. A Task enters this state when it is created, when it is enabled after being disabled, or when it is awaiting a retry after a failed run."
+ },
+ {
+ "value": "preparing",
+ "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node."
+ },
+ {
+ "value": "running",
+ "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing."
+ },
+ {
+ "value": "completed",
+ "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated."
+ }
+ ]
+ }
+ },
+ "SubtaskState": {
+ "type": "string",
+ "title": "The state of the subtask.",
+ "enum": [
+ "preparing",
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "SubtaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "preparing",
+ "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node."
+ },
+ {
+ "value": "running",
+ "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing."
+ },
+ {
+ "value": "completed",
+ "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated."
+ }
+ ]
+ }
+ },
+ "ComputeNodeDeallocationOption": {
+ "type": "string",
+ "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion",
+ "retaineddata"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeDeallocationOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed.",
+ "name": "taskCompletion"
+ },
+ {
+ "value": "retaineddata",
+ "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired.",
+ "name": "retainedData"
+ }
+ ]
+ }
+ },
+ "OutputFileUploadCondition": {
+ "type": "string",
+ "title": "The conditions under which a Task output file or set of files should be uploaded.",
+ "enum": [
+ "tasksuccess",
+ "taskfailure",
+ "taskcompletion"
+ ],
+ "x-ms-enum": {
+ "name": "OutputFileUploadCondition",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "tasksuccess",
+ "description": "Upload the file(s) only after the Task process exits with an exit code of 0.",
+ "name": "taskSuccess"
+ },
+ {
+ "value": "taskfailure",
+ "description": "Upload the file(s) only after the Task process exits with a nonzero exit code.",
+ "name": "taskFailure"
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Upload the file(s) after the Task process exits, no matter what the exit code was.",
+ "name": "taskCompletion"
+ }
+ ]
+ }
+ },
+ "TaskExecutionResult": {
+ "type": "string",
+ "title": "The result of Task execution.",
+ "enum": [
+ "success",
+ "failure"
+ ],
+ "x-ms-enum": {
+ "name": "TaskExecutionResult",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "success",
+ "description": "The Task ran successfully.",
+ "name": "success"
+ },
+ {
+ "value": "failure",
+ "description": "There was an error during processing of the Task. The failure may have occurred before the Task process was launched, while the Task process was executing, or after the Task process exited.",
+ "name": "failure"
+ }
+ ]
+ }
+ },
+ "InboundEndpointProtocol": {
+ "type": "string",
+ "title": "The protocol of the endpoint.",
+ "enum": [
+ "tcp",
+ "udp"
+ ],
+ "x-ms-enum": {
+ "name": "InboundEndpointProtocol",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "tcp",
+ "description": "Use TCP for the endpoint.",
+ "name": "tcp"
+ },
+ {
+ "value": "udp",
+ "description": "Use UDP for the endpoint.",
+ "name": "udp"
+ }
+ ]
+ }
+ },
+ "UploadBatchServiceLogsConfiguration": {
+ "properties": {
+ "containerUrl": {
+ "type": "string",
+ "title": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s).",
+ "description": "The URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start of the time range from which to upload Batch Service log file(s).",
+ "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The end of the time range from which to upload Batch Service log file(s).",
+ "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime."
+ }
+ },
+ "required": [
+ "containerUrl",
+ "startTime"
+ ],
+ "title": "The Azure Batch service log files upload configuration for a Compute Node."
+ },
+ "UploadBatchServiceLogsResult": {
+ "properties": {
+ "virtualDirectoryName": {
+ "type": "string",
+ "title": "The virtual directory within Azure Blob Storage container to which the Batch Service log file(s) will be uploaded.",
+ "description": "The virtual directory name is part of the blob name for each log file uploaded, and it is built based poolId, nodeId and a unique identifier."
+ },
+ "numberOfFilesUploaded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of log files which will be uploaded."
+ }
+ },
+ "required": [
+ "virtualDirectoryName",
+ "numberOfFilesUploaded"
+ ],
+ "title": "The result of uploading Batch service log files from a specific Compute Node."
+ },
+ "PoolNodeCountsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PoolNodeCounts"
+ },
+ "description": "A list of Compute Node counts by Pool."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Compute Node counts in the Account."
+ },
+ "PoolNodeCounts": {
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool."
+ },
+ "dedicated": {
+ "$ref": "#/definitions/NodeCounts",
+ "title": "The number of dedicated Compute Nodes in each state."
+ },
+ "lowPriority": {
+ "$ref": "#/definitions/NodeCounts",
+ "title": "The number of low priority Compute Nodes in each state."
+ }
+ },
+ "required": [
+ "poolId"
+ ],
+ "title": "The number of Compute Nodes in each state for a Pool."
+ },
+ "NodeCounts": {
+ "properties": {
+ "creating": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the creating state."
+ },
+ "idle": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the idle state."
+ },
+ "offline": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the offline state."
+ },
+ "preempted": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the preempted state."
+ },
+ "rebooting": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The count of Compute Nodes in the rebooting state."
+ },
+ "reimaging": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the reimaging state."
+ },
+ "running": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the running state."
+ },
+ "starting": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the starting state."
+ },
+ "startTaskFailed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the startTaskFailed state."
+ },
+ "leavingPool": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the leavingPool state."
+ },
+ "unknown": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the unknown state."
+ },
+ "unusable": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the unusable state."
+ },
+ "waitingForStartTask": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the waitingForStartTask state."
+ },
+ "total": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of Compute Nodes."
+ }
+ },
+ "required": [
+ "creating",
+ "idle",
+ "offline",
+ "preempted",
+ "rebooting",
+ "reimaging",
+ "running",
+ "starting",
+ "startTaskFailed",
+ "leavingPool",
+ "unknown",
+ "unusable",
+ "waitingForStartTask",
+ "total"
+ ],
+ "title": "The number of Compute Nodes in each Compute Node state."
+ },
+ "MountConfiguration": {
+ "properties": {
+ "azureBlobFileSystemConfiguration": {
+ "$ref": "#/definitions/AzureBlobFileSystemConfiguration",
+ "title": "The Azure Storage Container to mount using blob FUSE on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "nfsMountConfiguration": {
+ "$ref": "#/definitions/NFSMountConfiguration",
+ "title": "The NFS file system to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "cifsMountConfiguration": {
+ "$ref": "#/definitions/CIFSMountConfiguration",
+ "title": "The CIFS/SMB file system to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "azureFileShareConfiguration": {
+ "$ref": "#/definitions/AzureFileShareConfiguration",
+ "title": "The Azure File Share to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ }
+ },
+ "title": "The file system to mount on each node."
+ },
+ "AzureBlobFileSystemConfiguration": {
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "title": "The Azure Storage Account name."
+ },
+ "containerName": {
+ "type": "string",
+ "title": "The Azure Blob Storage Container name."
+ },
+ "accountKey": {
+ "type": "string",
+ "title": "The Azure Storage Account key.",
+ "description": "This property is mutually exclusive with sasKey and one must be specified."
+ },
+ "sasKey": {
+ "type": "string",
+ "title": "The Azure Storage SAS token.",
+ "description": "This property is mutually exclusive with accountKey and one must be specified."
+ },
+ "blobfuseOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ }
+ },
+ "required": [
+ "accountName",
+ "containerName",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Storage Container using Blobfuse."
+ },
+ "NFSMountConfiguration": {
+ "properties": {
+ "source": {
+ "type": "string",
+ "title": "The URI of the file system to mount."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ }
+ },
+ "required": [
+ "source",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an NFS file system."
+ },
+ "CIFSMountConfiguration": {
+ "properties": {
+ "username": {
+ "type": "string",
+ "title": "The user to use for authentication against the CIFS file system."
+ },
+ "source": {
+ "type": "string",
+ "title": "The URI of the file system to mount."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to use for authentication against the CIFS file system."
+ }
+ },
+ "required": [
+ "username",
+ "source",
+ "password",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to a CIFS file system."
+ },
+ "AzureFileShareConfiguration": {
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "title": "The Azure Storage account name."
+ },
+ "azureFileUrl": {
+ "type": "string",
+ "title": "The Azure Files URL.",
+ "description": "This is of the form 'https://{account}.file.core.windows.net/'."
+ },
+ "accountKey": {
+ "type": "string",
+ "title": "The Azure Storage account key."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ }
+ },
+ "required": [
+ "accountName",
+ "azureFileUrl",
+ "accountKey",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Fileshare."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "batchUrl": {
+ "name": "batchUrl",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "description": "The base URL for all Azure Batch service requests."
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/AccountListPoolNodeCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/AccountListPoolNodeCounts.json
new file mode 100644
index 000000000000..4591aa187647
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/AccountListPoolNodeCounts.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "poolId": "pool1",
+ "dedicated": {
+ "creating": 0,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 0
+ },
+ "lowPriority": {
+ "creating": 0,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 2,
+ "starting": 1,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 3
+ }
+ },
+ {
+ "poolId": "pool2",
+ "dedicated": {
+ "creating": 0,
+ "idle": 1,
+ "leavingPool": 0,
+ "offline": 3,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 4
+ },
+ "lowPriority": {
+ "creating": 0,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 0
+ }
+ },
+ {
+ "poolId": "pool3",
+ "dedicated": {
+ "creating": 0,
+ "idle": 5,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 4,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 9
+ },
+ "lowPriority": {
+ "creating": 7,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 4,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 11
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/AccountListSupportedImages.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/AccountListSupportedImages.json
new file mode 100644
index 000000000000..c9e9b87352a7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/AccountListSupportedImages.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "nodeAgentSKUId": "batch.node.centos 7",
+ "imageReference": {
+ "publisher": "OpenLogic",
+ "offer": "CentOS",
+ "sku": "7.2",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "capabilities": [
+ "DockerCompatible",
+ "NvidiaTeslaDriverInstalled"
+ ],
+ "osType": "linux"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.centos 7",
+ "imageReference": {
+ "publisher": "OpenLogic",
+ "offer": "CentOS",
+ "sku": "7.1",
+ "version": "latest"
+ },
+ "verificationType": "unverified",
+ "osType": "linux",
+ "batchSupportEndOfLife": "2019-11-01T00:00:00.0Z"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.debian 8",
+ "imageReference": {
+ "publisher": "Credativ",
+ "offer": "Debian",
+ "sku": "8",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "osType": "linux"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.windows amd64",
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "osType": "windows"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.windows amd64",
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-Datacenter",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "osType": "windows"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/ApplicationGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/ApplicationGet.json
new file mode 100644
index 000000000000..89901c9c19c7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/ApplicationGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "applicationId": "my_application_id"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "my_application_id",
+ "versions": [
+ "v1.0"
+ ],
+ "displayName": "my_display_name"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/ApplicationList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/ApplicationList.json
new file mode 100644
index 000000000000..4d0c21d32ddf
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/ApplicationList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "my_application_id",
+ "versions": [
+ "v1.0"
+ ],
+ "displayName": "my_display_name"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateAdd.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateAdd.json
new file mode 100644
index 000000000000..43badf092110
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateAdd.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "certificate": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "data": "#####...",
+ "certificateFormat": "pfx",
+ "password": "certpassword"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateCancelDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateCancelDelete.json
new file mode 100644
index 000000000000..5a26439110fc
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateCancelDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateDelete.json
new file mode 100644
index 000000000000..34c2323fbdd7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateGet.json
new file mode 100644
index 000000000000..8bd190258b81
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)",
+ "state": "deletefailed",
+ "stateTransitionTime": "2014-07-31T21:12:58.236Z",
+ "previousState": "deleting",
+ "previousStateTransitionTime": "2014-07-31T21:11:58.236Z",
+ "publicData": "#####...",
+ "deleteCertificateError": {
+ "code": "PoolsReferencingCertificate",
+ "message": "The specified certificate is being used by the below mentioned pool(s)",
+ "values": [
+ {
+ "name": "Pools",
+ "value": "mypool1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateList.json
new file mode 100644
index 000000000000..2b8fa4d5953d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/CertificateList.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)",
+ "state": "deletefailed",
+ "stateTransitionTime": "2014-07-31T21:12:58.236Z",
+ "previousState": "deleting",
+ "previousStateTransitionTime": "2014-07-31T21:11:58.236Z",
+ "publicData": "#####...",
+ "deleteCertificateError": {
+ "code": "PoolsReferencingCertificate",
+ "message": "The specified certificate is being used by the below mentioned pool(s)",
+ "values": [
+ {
+ "name": "Pools",
+ "value": "mypool1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileDeleteFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileDeleteFromNode.json
new file mode 100644
index 000000000000..5c4720cb8453
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileDeleteFromNode.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileDeleteFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileDeleteFromTask.json
new file mode 100644
index 000000000000..55f2d73ffa50
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileDeleteFromTask.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "task1",
+ "filePath": "wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetFromNode.json
new file mode 100644
index 000000000000..a955d283a9c4
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetFromNode.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "nodeId",
+ "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream",
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetFromTask.json
new file mode 100644
index 000000000000..5148507c5793
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetFromTask.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "task1",
+ "filePath": "wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream",
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetPropertiesFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetPropertiesFromNode.json
new file mode 100644
index 000000000000..aa477636134d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetPropertiesFromNode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "nodeId",
+ "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetPropertiesFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetPropertiesFromTask.json
new file mode 100644
index 000000000000..009c6529c237
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileGetPropertiesFromTask.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "filePath": "wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileListFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileListFromNode.json
new file mode 100644
index 000000000000..3dc350f63a2a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileListFromNode.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "shared",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/shared",
+ "isDirectory": true
+ },
+ {
+ "name": "startup\\ProcessEnv.cmd",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\ProcessEnv.cmd",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.679195Z",
+ "lastModified": "2014-09-19T21:56:17.679195Z",
+ "contentLength": 1813,
+ "contentType": "application/octet-stream"
+ }
+ },
+ {
+ "name": "startup\\stderr.txt",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\stderr.txt",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.5590855Z",
+ "lastModified": "2014-09-19T21:56:17.5590855Z",
+ "contentLength": 0,
+ "contentType": "application/octet-stream"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileListFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileListFromTask.json
new file mode 100644
index 000000000000..d9a541a363d1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/FileListFromTask.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "startup\\ProcessEnv.cmd",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\ProcessEnv.cmd",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.679195Z",
+ "lastModified": "2014-09-19T21:56:17.679195Z",
+ "contentLength": 1813,
+ "contentType": "application/octet-stream"
+ }
+ },
+ {
+ "name": "startup\\stderr.txt",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\stderr.txt",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.5590855Z",
+ "lastModified": "2014-09-19T21:56:17.5590855Z",
+ "contentLength": 0,
+ "contentType": "application/octet-stream"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobAdd_Basic.json
new file mode 100644
index 000000000000..76a87f08a597
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobAdd_Basic.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "job": {
+ "id": "jobId",
+ "priority": 0,
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobAdd_Complex.json
new file mode 100644
index 000000000000..27c8a480da56
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobAdd_Complex.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "job": {
+ "id": "jobId",
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "jobManagerTask": {
+ "id": "taskId",
+ "commandLine": "myprogram.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas",
+ "filePath": "myprogram.exe"
+ },
+ {
+ "storageContainerUrl": "http://mystorage1.blob.core.windows.net/data?sas",
+ "filePath": "datafolder"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": 0,
+ "retentionTime": "PT1H"
+ },
+ "killJobOnCompletion": false,
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "admin"
+ }
+ },
+ "runExclusive": true
+ },
+ "poolInfo": {
+ "autoPoolSpecification": {
+ "autoPoolIdPrefix": "mypool",
+ "poolLifetimeOption": "job",
+ "pool": {
+ "vmSize": "small",
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "*"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "maxTasksPerNode": 2,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "startTask": {
+ "commandLine": "myprogram2.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas",
+ "filePath": "myprogram2.exe"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "admin"
+ }
+ },
+ "maxTaskRetryCount": 2,
+ "waitForSuccess": true
+ },
+ "certificateReferences": [
+ {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "storeLocation": "localmachine",
+ "storeName": "Root",
+ "visibility": [
+ "task"
+ ]
+ }
+ ],
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ }
+ },
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobDelete.json
new file mode 100644
index 000000000000..efb88cc5bcce
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobDisable.json
new file mode 100644
index 000000000000..d2376477bfba
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobDisable.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobDisableParameter": {
+ "disableTasks": "terminate"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobEnable.json
new file mode 100644
index 000000000000..efb88cc5bcce
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobEnable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGet.json
new file mode 100644
index 000000000000..ac721666ba78
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "jobId",
+ "url": "https://account.region.batch.azure.com/jobs/jobId",
+ "eTag": "0x8D4100FC49F0278",
+ "lastModified": "2016-11-19T00:05:27.5391608Z",
+ "creationTime": "2016-11-19T00:05:25.311915Z",
+ "state": "completed",
+ "stateTransitionTime": "2016-11-19T00:05:27.578581Z",
+ "previousState": "active",
+ "previousStateTransitionTime": "2016-11-19T00:05:27.2137716Z",
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ },
+ "executionInfo": {
+ "startTime": "2016-11-19T00:05:25.3309105Z",
+ "endTime": "2016-11-19T00:05:27.578581Z",
+ "poolId": "poolId",
+ "terminateReason": "UserTerminate"
+ },
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGetLifetimeStatistics.json
new file mode 100644
index 000000000000..405a2ee392bf
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGetLifetimeStatistics.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "https://account.region.batch.core.windows.net/lifetimejobstats",
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "userCPUTime": "PT0S",
+ "kernelCPUTime": "PT0S",
+ "wallClockTime": "PT0S",
+ "readIOps": 0,
+ "writeIOps": 0,
+ "readIOGiB": 10.0,
+ "writeIOGiB": 5.0,
+ "numSucceededTasks": 0,
+ "numFailedTasks": 0,
+ "numTaskRetries": 0,
+ "waitTime": "PT0S"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGetTaskCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGetTaskCounts.json
new file mode 100644
index 000000000000..89a798fb0fef
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobGetTaskCounts.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "active": 5,
+ "running": 7,
+ "completed": 4,
+ "succeeded": 2,
+ "failed": 2
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobList.json
new file mode 100644
index 000000000000..4140ad069687
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "jobId",
+ "url": "https://account.region.batch.azure.com/jobs/jobId",
+ "eTag": "0x8D4100FC46D5BF4",
+ "lastModified": "2016-11-19T00:05:27.2137716Z",
+ "creationTime": "2016-11-19T00:05:25.311915Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-19T00:05:27.2137716Z",
+ "previousState": "disabled",
+ "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z",
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ },
+ "executionInfo": {
+ "startTime": "2016-11-19T00:05:25.3309105Z",
+ "poolId": "poolId"
+ },
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobListFromJobSchedule.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobListFromJobSchedule.json
new file mode 100644
index 000000000000..853ce5b6796b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobListFromJobSchedule.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "jobId",
+ "url": "https://account.region.batch.azure.com/jobs/jobId",
+ "eTag": "0x8D4100FC46D5BF4",
+ "lastModified": "2016-11-19T00:05:27.2137716Z",
+ "creationTime": "2016-11-19T00:05:25.311915Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-19T00:05:27.2137716Z",
+ "previousState": "disabled",
+ "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z",
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ },
+ "executionInfo": {
+ "startTime": "2016-11-19T00:05:25.3309105Z",
+ "poolId": "poolId"
+ },
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobListPreparationAndReleaseTaskStatus.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobListPreparationAndReleaseTaskStatus.json
new file mode 100644
index 000000000000..dc89f6b51890
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobListPreparationAndReleaseTaskStatus.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "poolId": "poolId",
+ "nodeId": "tvm-2167304207_1-20140905t174658z",
+ "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z",
+ "jobPreparationTaskExecutionInfo": {
+ "state": "completed",
+ "startTime": "2015-05-01T10:20:31Z",
+ "endTime": "2015-05-02T20:12:42Z",
+ "taskRootDirectory": "tasks/myjob/job-1/myjobpreptask",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobpreptask",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "jobReleaseTaskExecutionInfo": {
+ "state": "completed",
+ "startTime": "2015-05-01T10:20:31Z",
+ "endTime": "2015-05-02T20:12:42Z",
+ "taskRootDirectory": "tasks/myjob/job-1/myjobreleasetask",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobreleasetask",
+ "exitCode": 0
+ }
+ }
+ ],
+ "odata.nextLink": "https://account.region.batch.azure.com/jobs/myjob/jobpreparationandreleasestatus?$skipToken=tvm-2167304207_1-20140905t174658z&api-version=2019-08-01.10.0"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobPatch.json
new file mode 100644
index 000000000000..e7f50e034ed8
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobPatch.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobPatchParameter": {
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleAdd_Basic.json
new file mode 100644
index 000000000000..54ea9a95fd66
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleAdd_Basic.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "cloudJobSchedule": {
+ "id": "jobScheduleId",
+ "schedule": {
+ "recurrenceInterval": "PT5M"
+ },
+ "jobSpecification": {
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleAdd_Complex.json
new file mode 100644
index 000000000000..d22f1b0dd441
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleAdd_Complex.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "cloudJobSchedule": {
+ "id": "jobScheduleId",
+ "schedule": {
+ "doNotRunUntil": "2014-09-10T02:30:00.000Z",
+ "doNotRunAfter": "2014-09-10T06:30:00.000Z",
+ "startWindow": "PT1M",
+ "recurrenceInterval": "PT5M"
+ },
+ "jobSpecification": {
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "jobManagerTask": {
+ "id": "mytask1",
+ "commandLine": "myprogram.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas",
+ "filePath": "myprogram.exe"
+ },
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/test.txt?sas",
+ "filePath": "test.txt"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": 0,
+ "retentionTime": "PT1H"
+ },
+ "killJobOnCompletion": true,
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "runExclusive": true
+ },
+ "poolInfo": {
+ "autoPoolSpecification": {
+ "autoPoolIdPrefix": "mypool",
+ "poolLifetimeOption": "jobschedule",
+ "pool": {
+ "vmSize": "small",
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "*"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "maxTasksPerNode": 2,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "startTask": {
+ "commandLine": "myprogram2.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas",
+ "filePath": "myprogram2.exe"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "admin"
+ }
+ },
+ "maxTaskRetryCount": 2,
+ "waitForSuccess": true
+ },
+ "certificateReferences": [
+ {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "storeLocation": "localmachine",
+ "storeName": "Root",
+ "visibility": [
+ "task"
+ ]
+ }
+ ],
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleDelete.json
new file mode 100644
index 000000000000..61b57238375c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleDisable.json
new file mode 100644
index 000000000000..2dd14a6aac6f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleDisable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleEnable.json
new file mode 100644
index 000000000000..2dd14a6aac6f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleEnable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleExists.json
new file mode 100644
index 000000000000..f41f1c884c0d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleExists.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleGet.json
new file mode 100644
index 000000000000..382699ea5393
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "jobScheduleId",
+ "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId",
+ "eTag": "0x8D40FFD2E848323",
+ "lastModified": "2016-11-18T21:52:24.7661347Z",
+ "creationTime": "2016-11-18T21:52:22.5431125Z",
+ "state": "completed",
+ "stateTransitionTime": "2016-11-18T21:52:24.8371778Z",
+ "previousState": "active",
+ "previousStateTransitionTime": "2016-11-18T21:52:24.0064874Z",
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction",
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "testPool"
+ }
+ },
+ "executionInfo": {
+ "recentJob": {
+ "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId:job-1",
+ "id": "jobScheduleId:job-1"
+ },
+ "endTime": "2016-11-18T21:52:24.8371778Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleList.json
new file mode 100644
index 000000000000..2d4874c0029f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "jobSchedule1",
+ "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule1",
+ "eTag": "0x8D40FFD2E10996A",
+ "lastModified": "2016-11-18T21:52:24.0064874Z",
+ "creationTime": "2016-11-18T21:52:22.5431125Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-18T21:52:24.0064874Z",
+ "previousState": "disabled",
+ "previousStateTransitionTime": "2016-11-18T21:52:23.6471782Z",
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction",
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ },
+ "executionInfo": {
+ "recentJob": {
+ "url": "https://account.region.batch.azure.com/jobs/jobSchedule1:job-1",
+ "id": "jobSchedule1:job-1"
+ }
+ }
+ },
+ {
+ "id": "jobSchedule2",
+ "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule2",
+ "eTag": "0x8D40FFCFF760B51",
+ "lastModified": "2016-11-18T21:51:05.8184017Z",
+ "creationTime": "2016-11-18T21:51:05.8184017Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-18T21:51:05.8184017Z",
+ "schedule": {
+ "doNotRunUntil": "2020-01-01T12:30:00Z"
+ },
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction",
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "testPool2"
+ }
+ },
+ "executionInfo": {
+ "nextRunTime": "2020-01-01T12:30:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobSchedulePatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobSchedulePatch.json
new file mode 100644
index 000000000000..9d21bbb7e022
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobSchedulePatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobSchedulePatchParameter": {
+ "schedule": {
+ "doNotRunUntil": "2025-01-01T12:30:00Z"
+ },
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleTerminate.json
new file mode 100644
index 000000000000..61b57238375c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleTerminate.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleUpdate.json
new file mode 100644
index 000000000000..4381edba20ed
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobScheduleUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobScheduleUpdateParameter": {
+ "schedule": {
+ "doNotRunUntil": "2025-01-01T12:30:00Z"
+ },
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobTerminate.json
new file mode 100644
index 000000000000..9ce95c08e928
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobTerminate.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobTerminateParameter": {
+ "terminateReason": "User supplied termination reason"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobUpdate.json
new file mode 100644
index 000000000000..92f88f370163
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/JobUpdate.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobUpdateParameter": {
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeAddUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeAddUser.json
new file mode 100644
index 000000000000..2dbcb39a090b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeAddUser.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "user": {
+ "name": "userName",
+ "isAdmin": false,
+ "expiryTime": "2017-08-01T00:00:00Z",
+ "password": "Password"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeDeleteUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeDeleteUser.json
new file mode 100644
index 000000000000..9c3c0d2bf201
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeDeleteUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "userName": "userName",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeDisableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeDisableScheduling.json
new file mode 100644
index 000000000000..4b965fcaa5e1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeDisableScheduling.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeDisableSchedulingParameter": {
+ "nodeDisableSchedulingOption": "terminate"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeEnableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeEnableScheduling.json
new file mode 100644
index 000000000000..7b9607e580a4
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeEnableScheduling.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGetRemoteDesktop.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGetRemoteDesktop.json
new file mode 100644
index 000000000000..3819b9de0358
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGetRemoteDesktop.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGetRemoteLoginSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGetRemoteLoginSettings.json
new file mode 100644
index 000000000000..ce99ea41c920
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGetRemoteLoginSettings.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "remoteLoginIPAddress": "1.1.1.1",
+ "remoteLoginPort": 50000
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGet_Basic.json
new file mode 100644
index 000000000000..72b9ea4f00c2
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeGet_Basic.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_2-20161122t193202z",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tvm-1695681911_2-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T19:37:31.4285526Z",
+ "lastBootTime": "2016-11-22T19:37:28.623369Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_2-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T19:37:31.4285526Z",
+ "endTime": "2016-11-22T19:37:31.838028Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T19:37:28.623369Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeList.json
new file mode 100644
index 000000000000..b37e956fc4fe
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeList.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tvm-1695681911_1-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T22:22:27.2236818Z",
+ "lastBootTime": "2016-11-22T22:22:24.4634125Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_1-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T22:22:27.2236818Z",
+ "endTime": "2016-11-22T22:22:27.567189Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T22:22:24.4634125Z"
+ }
+ },
+ {
+ "id": "tvm-1695681911_2-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T19:37:31.4285526Z",
+ "lastBootTime": "2016-11-22T19:37:28.623369Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_2-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T19:37:31.4285526Z",
+ "endTime": "2016-11-22T19:37:31.838028Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T22:22:24.4634125Z"
+ }
+ },
+ {
+ "id": "tvm-1695681911_3-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_3-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T19:36:51.0013378Z",
+ "lastBootTime": "2016-11-22T19:36:48.21721Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_3-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T19:36:51.0013378Z",
+ "endTime": "2016-11-22T19:36:51.2363447Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T22:22:24.4634125Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeReboot.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeReboot.json
new file mode 100644
index 000000000000..08203231735b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeReboot.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeRebootParameter": {
+ "nodeRebootOption": "terminate"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeReimage.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeReimage.json
new file mode 100644
index 000000000000..e8f4c68e3fe7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeReimage.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeReimageParameter": {
+ "nodeReimageOption": "terminate"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeUpdateUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeUpdateUser.json
new file mode 100644
index 000000000000..50a27f9f2848
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeUpdateUser.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "userName": "userName",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeUpdateUserParameter": {
+ "password": "12345",
+ "expiryTime": "2016-11-27T00:45:48.7320857Z"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeUploadBatchServiceLogs.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeUploadBatchServiceLogs.json
new file mode 100644
index 000000000000..b42b6b733935
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/NodeUploadBatchServiceLogs.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "uploadBatchServiceLogsConfiguration": {
+ "containerUrl": "https://somestorageacct.blob.core.windows.net/batch-compute-node-logs?se=2017-12-09T18%3A51%3A00Z&sp=w&sv=2016-05-31&sr=c&sig",
+ "startTime": "2017-11-27T00:00:00Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "virtualDirectoryName": "poolId/tvm-1695681911-1-20161121t182739z/0795539d-82fe-48e3-bbff-2964905b6de0",
+ "numberOfFilesUploaded": 8
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_CloudServiceConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_CloudServiceConfiguration.json
new file mode 100644
index 000000000000..acc39d97c943
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_CloudServiceConfiguration.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "poolId",
+ "vmSize": "small",
+ "cloudServiceConfiguration": {
+ "osFamily": "4"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "maxTasksPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_MountConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_MountConfiguration.json
new file mode 100644
index 000000000000..904c395240b4
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_MountConfiguration.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-data": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "16.04.0-LTS"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.04"
+ },
+ "mountConfiguration": [
+ {
+ "azureBlobFileSystemConfiguration": {
+ "accountName": "accountName",
+ "containerName": "blobContainerName",
+ "accountKey": "accountKey",
+ "relativeMountPath": "bfusepath"
+ }
+ },
+ {
+ "azureFileShareConfiguration": {
+ "accountName": "accountName",
+ "azureFileUrl": "https://myaccount.file.core.windows.net/fileshare",
+ "accountKey": "accountKey",
+ "relativeMountPath": "filesharepath",
+ "mountOptions": "mount options ver=1.0"
+ }
+ },
+ {
+ "nfsMountConfiguration": {
+ "source": "somesource nfs url",
+ "relativeMountPath": "mountpath",
+ "mountOptions": "mount options ver=1.0"
+ }
+ },
+ {
+ "cifsMountConfiguration": {
+ "username": "accountName",
+ "password": "password",
+ "source": "//myaccount.file.core.windows.net/file",
+ "relativeMountPath": "mountpath",
+ "mountOptions": "mount options ver=1.0"
+ }
+ }
+ ],
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "maxTasksPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_VirtualMachineConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_VirtualMachineConfiguration.json
new file mode 100644
index 000000000000..870ea6d10f7e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_VirtualMachineConfiguration.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "16.04.0-LTS"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.04"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "maxTasksPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json
new file mode 100644
index 000000000000..471ffe2ebb55
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "16.04.0-LTS"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.04",
+ "containerConfiguration": {
+ "type": "dockerCompatible",
+ "containerImageNames": [
+ "busybox"
+ ]
+ }
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "maxTasksPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolDelete.json
new file mode 100644
index 000000000000..6d55c3c47372
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolDisableAutoScale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolDisableAutoScale.json
new file mode 100644
index 000000000000..ffb6ba2b31b0
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolDisableAutoScale.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolEnableAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolEnableAutoscale.json
new file mode 100644
index 000000000000..f04251501d79
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolEnableAutoscale.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolEnableAutoScaleParameter": {
+ "autoScaleFormula": "$TargetDedicated=0",
+ "autoScaleEvaluationInterval": "PT8M"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolEvaluateAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolEvaluateAutoscale.json
new file mode 100644
index 000000000000..58e71301c449
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolEvaluateAutoscale.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolEvaluateAutoScaleParameter": {
+ "autoScaleFormula": "$TargetDedicated=1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamp": "2016-11-22T19:39:28.5246331Z",
+ "results": "$TargetDedicated=1;$NodeDeallocationOption=requeue"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolExists.json
new file mode 100644
index 000000000000..c10ff8f72b2b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolExists.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolGetLifetimeStatistics.json
new file mode 100644
index 000000000000..5340f9d18894
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolGetLifetimeStatistics.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "https://account.region.batch.core.windows.net/lifetimepoolstats",
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "usageStats": {
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "dedicatedCoreTime": "PT0S"
+ },
+ "resourceStats": {
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "avgCPUPercentage": 40.0,
+ "avgMemoryGiB": 2.0,
+ "peakMemoryGiB": 4.0,
+ "avgDiskGiB": 125.0,
+ "peakDiskGiB": 240.0,
+ "diskReadIOps": 0,
+ "diskWriteIOps": 0,
+ "diskReadGiB": 10.0,
+ "diskWriteGiB": 1.0,
+ "networkReadGiB": 20.0,
+ "networkWriteGiB": 25.0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolGet_Basic.json
new file mode 100644
index 000000000000..3b5732a75c7f
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolGet_Basic.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "pool",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "pool",
+ "url": "https://account.region.batch.azure.com/pools/pool",
+ "eTag": "0x8D413091E739A56",
+ "lastModified": "2016-11-22T18:55:25.2608598Z",
+ "creationTime": "2016-11-22T18:55:24.2632496Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-22T18:55:24.2632496Z",
+ "allocationState": "steady",
+ "allocationStateTransitionTime": "2016-11-22T18:55:24.8154041Z",
+ "vmSize": "standard_a1",
+ "resizeTimeout": "PT15M",
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0,
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": false,
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "16.04.0-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 16.04"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolListUsageMetrics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolListUsageMetrics.json
new file mode 100644
index 000000000000..8388fbf9d710
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolListUsageMetrics.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "startTime": "2013-04-01T00:00:00Z",
+ "endTime": "2013-04-01T00:30:00Z",
+ "poolId": "p1",
+ "vmSize": "a1",
+ "totalCoreHours": 39.384838
+ },
+ {
+ "startTime": "2013-04-01T00:30:00Z",
+ "endTime": "2013-04-01T01:00:00Z",
+ "poolId": "p2",
+ "vmSize": "a8",
+ "totalCoreHours": 3039.384838
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolList_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolList_Basic.json
new file mode 100644
index 000000000000..4b273d031029
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolList_Basic.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testPool",
+ "url": "https://accountname.region.batch.azure.com/pools/testPool",
+ "eTag": "0x8D4123BEF87D233",
+ "lastModified": "2016-11-21T18:26:39.7108787Z",
+ "creationTime": "2016-11-21T18:26:39.7108787Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-21T18:26:39.7108787Z",
+ "allocationState": "steady",
+ "allocationStateTransitionTime": "2016-11-21T18:27:40.287803Z",
+ "vmSize": "small",
+ "resizeTimeout": "PT15M",
+ "currentDedicatedNodes": 3,
+ "currentLowPriorityNodes": 0,
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": false,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "*"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolPatch.json
new file mode 100644
index 000000000000..7bb1453fc5a2
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolPatch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolPatchParameter": {
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolRemoveNodes.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolRemoveNodes.json
new file mode 100644
index 000000000000..e785e9d5b8cc
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolRemoveNodes.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeRemoveParameter": {
+ "nodeList": [
+ "tvm-1695681911_1-20161122t224741z",
+ "tvm-1695681911_2-20161122t224741z"
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolResize.json
new file mode 100644
index 000000000000..453ad670f7ac
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolResize.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "resizePool",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolResizeParameter": {
+ "targetDedicatedNodes": 1,
+ "targetLowPriorityNodes": 0
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolStopResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolStopResize.json
new file mode 100644
index 000000000000..6d55c3c47372
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolStopResize.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolUpdate.json
new file mode 100644
index 000000000000..6f2f5bde4e86
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/PoolUpdate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolUpdatePropertiesParameter": {
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'"
+ },
+ "certificateReferences": [],
+ "applicationPackageReferences": [],
+ "metadata": []
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAddCollection_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAddCollection_Basic.json
new file mode 100644
index 000000000000..441c32588adb
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAddCollection_Basic.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "taskCollection": {
+ "value": [
+ {
+ "id": "simple1",
+ "commandLine": "cmd /c dir /s"
+ },
+ {
+ "id": "simple2",
+ "commandLine": "cmd /c dir /s"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "status": "success",
+ "taskId": "simple1",
+ "eTag": "0x8D3D623CD661246",
+ "lastModified": "2016-09-06T07:02:44.7589958Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple1"
+ },
+ {
+ "status": "success",
+ "taskId": "simple2",
+ "eTag": "0x8D3D623CD7072CC",
+ "lastModified": "2016-09-06T07:02:44.8270028Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAddCollection_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAddCollection_Complex.json
new file mode 100644
index 000000000000..cbf4547d1dc3
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAddCollection_Complex.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "taskCollection": {
+ "value": [
+ {
+ "id": "complex1",
+ "commandLine": "cmd /c dir /s",
+ "resourceFiles": [
+ {
+ "autoStorageContainerName": "containerName",
+ "filePath": "data"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "env1",
+ "value": "value1"
+ },
+ {
+ "name": "env2",
+ "value": "value2"
+ }
+ ],
+ "affinityInfo": {
+ "affinityId": "affinityId"
+ },
+ "constraints": {
+ "maxWallClockTime": "P1D",
+ "retentionTime": "P2D",
+ "maxTaskRetryCount": 5
+ },
+ "multiInstanceSettings": {
+ "numberOfInstances": 3,
+ "coordinationCommandLine": "cmd /c echo coordinating",
+ "commonResourceFiles": [
+ {
+ "httpUrl": "https://common.blob.core.windows.net/",
+ "filePath": "common.exe"
+ }
+ ]
+ }
+ },
+ {
+ "id": "simple3",
+ "commandLine": "cmd /c dir /s"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "taskId": "simple3",
+ "status": "success",
+ "eTag": "0x8D3D623CE295629",
+ "lastModified": "2016-09-06T07:02:46.0386857Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple3"
+ },
+ {
+ "taskId": "complex1",
+ "status": "success",
+ "eTag": "0x8D3D623CE29A412",
+ "lastModified": "2016-09-06T07:02:46.0406802Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/complex1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_Basic.json
new file mode 100644
index 000000000000..58baf28af916
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_Basic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "task1",
+ "commandLine": "cmd /c echo task1"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_ContainerSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_ContainerSettings.json
new file mode 100644
index 000000000000..fe9ef95233bf
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_ContainerSettings.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "taskId",
+ "commandLine": "bash -c 'echo hello'",
+ "containerSettings": {
+ "imageName": "ubuntu",
+ "containerRunOptions": "--rm"
+ },
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_ExitConditions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_ExitConditions.json
new file mode 100644
index 000000000000..60e606c7c17b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskAdd_ExitConditions.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "taskId",
+ "commandLine": "cmd /c exit 3",
+ "exitConditions": {
+ "exitCodeRanges": [
+ {
+ "start": 2,
+ "end": 4,
+ "exitOptions": {
+ "jobAction": "terminate"
+ }
+ }
+ ]
+ },
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskDelete.json
new file mode 100644
index 000000000000..815e09c4b7aa
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskGet.json
new file mode 100644
index 000000000000..c78aba329a8d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "testTask",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId",
+ "eTag": "0x8D3D62350711C55",
+ "creationTime": "2016-09-06T06:59:15.1161429Z",
+ "lastModified": "2016-09-06T06:59:15.1161429Z",
+ "state": "active",
+ "stateTransitionTime": "2016-09-06T06:59:15.1161429Z",
+ "commandLine": "cmd /c hostname",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "multiInstanceSettings": {
+ "numberOfInstances": 3,
+ "coordinationCommandLine": "cmd /c echo coordinating"
+ },
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "retentionTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "executionInfo": {
+ "retryCount": 0,
+ "requeueCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskList.json
new file mode 100644
index 000000000000..0a6857c07b1e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskList.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "task1",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task1",
+ "eTag": "0x8D4125FD1A825A4",
+ "creationTime": "2016-11-21T22:43:31.4733476Z",
+ "lastModified": "2016-11-21T22:43:31.4733476Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-21T22:43:31.4733476Z",
+ "commandLine": "cmd /c echo task1",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "retentionTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "executionInfo": {
+ "retryCount": 0,
+ "requeueCount": 0
+ }
+ },
+ {
+ "id": "task2",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task2",
+ "eTag": "0x8D4125FD2153345",
+ "creationTime": "2016-11-21T22:43:31.6736345Z",
+ "lastModified": "2016-11-21T22:43:32.1880389Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-21T22:43:31.6736345Z",
+ "commandLine": "cmd /c echo task2",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "retentionTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 3
+ },
+ "executionInfo": {
+ "retryCount": 0,
+ "requeueCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskListSubtasks.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskListSubtasks.json
new file mode 100644
index 000000000000..59c8c9c1c84a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskListSubtasks.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": 1,
+ "startTime": "2016-09-06T06:59:16.3139271Z",
+ "endTime": "2016-09-06T06:59:20.0242024Z",
+ "state": "completed",
+ "stateTransitionTime": "2016-09-06T06:59:20.0242024Z",
+ "previousState": "running",
+ "previousStateTransitionTime": "2016-09-06T06:59:16.3139271Z",
+ "exitCode": 0,
+ "nodeInfo": {
+ "affinityId": "TVM:tvm-2544493925_3-20160905t051718z",
+ "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z",
+ "poolId": "mpiPool",
+ "nodeId": "tvm-2544493925_3-20160905t051718z",
+ "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\1",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z/files//workitems/jobId/job-1/taskId/1"
+ }
+ },
+ {
+ "id": 2,
+ "startTime": "2016-09-06T06:59:16.9702844Z",
+ "state": "running",
+ "stateTransitionTime": "2016-09-06T06:59:16.9702844Z",
+ "nodeInfo": {
+ "affinityId": "TVM:tvm-2544493925_2-20160905t051718z",
+ "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z",
+ "poolId": "mpiPool",
+ "nodeId": "tvm-2544493925_2-20160905t051718z",
+ "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\2",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z/files//workitems/jobId/job-1/taskId/2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskReactivate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskReactivate.json
new file mode 100644
index 000000000000..037b719d7619
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskReactivate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskTerminate.json
new file mode 100644
index 000000000000..037b719d7619
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskTerminate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskUpdate.json
new file mode 100644
index 000000000000..fd020a4359ec
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/examples/TaskUpdate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2019-08-01.10.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "taskUpdateParameter": {
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": 3,
+ "retentionTime": "PT1H"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/readme.go.md b/specification/batch/data-plane/readme.go.md
index 97a9240d60c4..3f970038d20a 100644
--- a/specification/batch/data-plane/readme.go.md
+++ b/specification/batch/data-plane/readme.go.md
@@ -19,11 +19,21 @@ batch:
- tag: package-2018-12.8.0
- tag: package-2019-06.9.0
- tag: package-2019-08.10.0
+ - tag: package-2020-03.11.0
+```
+
+### Tag: package-2020-03.11.0 and go
+
+These settings apply only when `--tag=package-2020-03.11.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-03.11.0' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/2020-03-01.11.0/$(namespace)
```
### Tag: package-2019-08.10.0 and go
-These settings apply only when `--tag=package-2019-06.9.0 --go` is specified on the command line.
+These settings apply only when `--tag=package-2019-08.10.0 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag)=='package-2019-08.10.0' && $(go)
diff --git a/specification/batch/data-plane/readme.md b/specification/batch/data-plane/readme.md
index 399ab6d11296..adfd75a18255 100644
--- a/specification/batch/data-plane/readme.md
+++ b/specification/batch/data-plane/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the Batch API.
``` yaml
openapi-type: data-plane
-tag: package-2019-08.10.0
+tag: package-2020-03.11.0
+```
+
+### Tag: package-2020-03.11.0
+
+These settings apply only when `--tag=package-2020-03.11.0` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-03.11.0'
+input-file:
+- Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
```
### Tag: package-2019-08.10.0
@@ -351,6 +360,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
- $(this-folder)/Microsoft.Batch/stable/2019-08-01.10.0/BatchService.json
- $(this-folder)/Microsoft.Batch/stable/2019-06-01.9.0/BatchService.json
- $(this-folder)/Microsoft.Batch/stable/2018-12-01.8.0/BatchService.json
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 277e1d89b7b0..6ddd185c5de4 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
@@ -322,6 +322,142 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions": {
+ "get": {
+ "tags": [
+ "Instructions"
+ ],
+ "operationId": "Instructions_ListByBillingProfile",
+ "description": "Lists the instructions by billing profile id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "x-ms-examples": {
+ "InstructionsListByBillingProfile": {
+ "$ref": "./examples/InstructionsListByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/InstructionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}": {
+ "get": {
+ "tags": [
+ "Instructions"
+ ],
+ "x-ms-examples": {
+ "Instruction": {
+ "$ref": "./examples/Instruction.json"
+ }
+ },
+ "operationId": "Instructions_Get",
+ "description": "Get the instruction by name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/instructionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Instruction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Instructions"
+ ],
+ "operationId": "Instructions_Put",
+ "description": "The operation to create or update a instruction.",
+ "x-ms-examples": {
+ "PutInstruction": {
+ "$ref": "./examples/PutInstruction.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/instructionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Instruction"
+ },
+ "description": "The new instruction."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Instruction"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/paymentMethods": {
"get": {
"tags": [
@@ -461,7 +597,7 @@
}
}
},
- "post": {
+ "put": {
"tags": [
"BillingProfiles"
],
@@ -718,7 +854,7 @@
}
}
},
- "post": {
+ "put": {
"tags": [
"InvoiceSections"
],
@@ -1176,7 +1312,7 @@
"Transactions"
],
"operationId": "Transactions_ListByCustomer",
- "description": "Lists the transactions by customer id for given start date and end date.",
+ "description": "Lists the billed and unbilled transactions by customer id for given start date and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice Id and do not include tax. Tax is added to the amount once an invoice is generated.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
@@ -2392,7 +2528,7 @@
"Transactions"
],
"operationId": "Transactions_ListByBillingAccount",
- "description": "Lists the transactions by billing account name for given start and end date.",
+ "description": "Lists the billed and unbilled transactions by billing account name for given start and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice ID and do not include tax. Tax is added to the amount once an invoice is generated.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/billing/"
},
@@ -2458,7 +2594,7 @@
"Transactions"
],
"operationId": "Transactions_ListByBillingProfile",
- "description": "Lists the transactions by billing profile name for given start date and end date.",
+ "description": "Lists the billed and unbilled transactions by billing profile name for given start date and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice Id and do not include tax. Tax is added to the amount once an invoice is generated.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/billing/"
},
@@ -2524,7 +2660,7 @@
"Transactions"
],
"operationId": "Transactions_ListByInvoiceSection",
- "description": "Lists the transactions by invoice section name for given start date and end date.",
+ "description": "Lists the billed and unbilled transactions by invoice section name for given start date and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice Id and do not include tax. Tax is added to the amount once an invoice is generated.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/billing/"
},
@@ -2587,6 +2723,54 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}/transactions": {
+ "get": {
+ "tags": [
+ "Transactions"
+ ],
+ "operationId": "Transactions_ListByInvoice",
+ "description": "Lists the transactions by invoice. Transactions include purchases, refunds and Azure usage charges.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/billing/"
+ },
+ "x-ms-examples": {
+ "TransactionsListByInvoice": {
+ "$ref": "./examples/TransactionsListByInvoice.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/invoiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/TransactionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/transactions/{transactionName}": {
"get": {
"tags": [
@@ -3253,7 +3437,7 @@
"Transfers"
],
"description": "Lists all transfer's details initiated from given invoice section.",
- "operationId": "PartnerTransfersTransfers_List",
+ "operationId": "PartnerTransfers_List",
"x-ms-examples": {
"TransfersList": {
"$ref": "./examples/PartnerListTransfers.json"
@@ -4456,102 +4640,6 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingAccounts/default/lineOfCredit/default": {
- "get": {
- "tags": [
- "LineOfCredits"
- ],
- "x-ms-examples": {
- "LineOfCreditBySubscription": {
- "$ref": "./examples/LineOfCreditBySubscription.json"
- }
- },
- "operationId": "LineOfCredits_Get",
- "description": "Get the current line of credit.",
- "parameters": [
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LineOfCredit"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "tags": [
- "LineOfCredits"
- ],
- "operationId": "LineOfCredits_Update",
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "IncreaseLineOfCreditBySubscription": {
- "$ref": "./examples/IncreaseLineOfCreditBySubscription.json"
- }
- },
- "description": "Increase the current line of credit.",
- "parameters": [
- {
- "$ref": "#/parameters/apiVersionParameter"
- },
- {
- "$ref": "#/parameters/subscriptionIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LineOfCredit"
- },
- "description": "Parameters supplied to the increase line of credit operation."
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/LineOfCredit"
- }
- },
- "202": {
- "description": "Accepted. Line of credit increase is in progress.",
- "headers": {
- "Location": {
- "description": "Location URI to poll for result.",
- "type": "string"
- },
- "Retry-After": {
- "description": "Recommends the retryable time after receiving this.",
- "type": "integer"
- }
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
}
},
"definitions": {
@@ -5230,6 +5318,20 @@
"modelAsString": true
}
},
+ "accountType": {
+ "description": "The type of customer.",
+ "type": "string",
+ "enum": [
+ "Enterprise",
+ "Individual",
+ "Partner"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
"billingProfiles": {
"description": "The billing profiles associated to the billing account. By default this is not populated, unless it's specified in $expand.",
"type": "array",
@@ -5317,6 +5419,44 @@
"type": "string",
"readOnly": true
},
+ "billingProfileStatus": {
+ "description": "The status of the billing profile.",
+ "enum": [
+ "Active",
+ "Disabled",
+ "Warned"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileStatus",
+ "modelAsString": true
+ }
+ },
+ "billingProfileStatusReasonCode": {
+ "description": "Reason for the specified billing profile status.",
+ "enum": [
+ "PastDue",
+ "SpendingLimitReached",
+ "SpendingLimitExpired"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileStatusReasonCode",
+ "modelAsString": true
+ }
+ },
+ "billingProfileSpendingLimit": {
+ "description": "The billing profile spending limit.",
+ "enum": [
+ "Off",
+ "On"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileSpendingLimit",
+ "modelAsString": true
+ }
+ },
"costCenter": {
"description": "Cost center name.",
"type": "string",
@@ -5556,6 +5696,24 @@
}
}
},
+ "InstructionListResult": {
+ "description": "Result of listing instructions.",
+ "properties": {
+ "value": {
+ "description": "The list of instructions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Instruction"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"BillingProfileListResult": {
"description": "Result of listing billing profiles.",
"properties": {
@@ -5590,6 +5748,51 @@
}
}
},
+ "Instruction": {
+ "description": "A instruction resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "A billing instruction.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InstructionProperties"
+ }
+ }
+ },
+ "InstructionProperties": {
+ "description": "A billing instruction used during invoice generation.",
+ "required": [
+ "amount",
+ "startDate",
+ "endDate"
+ ],
+ "properties": {
+ "amount": {
+ "description": "The amount budgeted for this billing instruction.",
+ "type": "number"
+ },
+ "startDate": {
+ "description": "The date this billing instruction goes into effect.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endDate": {
+ "description": "The date this billing instruction is no longer in effect.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "creationDate": {
+ "description": "The date this billing instruction was created.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
"BillingProfileCreationRequest": {
"description": "The request parameters for creating a new billing profile.",
"properties": {
@@ -5660,6 +5863,44 @@
"items": {
"$ref": "#/definitions/InvoiceSection"
}
+ },
+ "status": {
+ "description": "The status of the billing profile.",
+ "enum": [
+ "Active",
+ "Disabled",
+ "Warned"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileStatus",
+ "modelAsString": true
+ }
+ },
+ "statusReasonCode": {
+ "description": "Reason for the specified billing profile status.",
+ "enum": [
+ "PastDue",
+ "SpendingLimitReached",
+ "SpendingLimitExpired"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StatusReasonCode",
+ "modelAsString": true
+ }
+ },
+ "spendingLimit": {
+ "description": "The billing profile spending limit.",
+ "enum": [
+ "Off",
+ "On"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SpendingLimit",
+ "modelAsString": true
+ }
}
}
},
@@ -5801,6 +6042,44 @@
"type": "string",
"readOnly": true
},
+ "billingProfileStatus": {
+ "description": "The status of the billing profile.",
+ "enum": [
+ "Active",
+ "Disabled",
+ "Warned"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileStatus",
+ "modelAsString": true
+ }
+ },
+ "billingProfileStatusReasonCode": {
+ "description": "Reason for the specified billing profile status.",
+ "enum": [
+ "PastDue",
+ "SpendingLimitReached",
+ "SpendingLimitExpired"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileStatusReasonCode",
+ "modelAsString": true
+ }
+ },
+ "billingProfileSpendingLimit": {
+ "description": "The billing profile spending limit.",
+ "enum": [
+ "Off",
+ "On"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingProfileSpendingLimit",
+ "modelAsString": true
+ }
+ },
"enabledAzurePlans": {
"description": "Enabled azure plans for the associated billing profile.",
"type": "array",
@@ -5959,10 +6238,9 @@
"description": "Invoice status.",
"type": "string",
"enum": [
- "PastDue",
"Due",
- "Paid",
- "Void"
+ "OverDue",
+ "Paid"
],
"readOnly": true,
"x-ms-enum": {
@@ -5971,12 +6249,42 @@
}
},
"amountDue": {
- "description": "Amount due.",
+ "description": "The amount due as of now.",
+ "readOnly": true,
+ "$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,
"$ref": "#/definitions/Amount"
},
"billedAmount": {
- "description": "Amount billed.",
+ "description": "The total charges for the invoice billing period.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "creditAmount": {
+ "description": "The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "freeAzureCreditApplied": {
+ "description": "The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "subTotal": {
+ "description": "The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "taxAmount": {
+ "description": "The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "totalAmount": {
+ "description": "The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
"readOnly": true,
"$ref": "#/definitions/Amount"
},
@@ -5992,7 +6300,7 @@
"format": "date-time",
"readOnly": true
},
- "invoiceType" : {
+ "invoiceType": {
"description": "Invoice type.",
"enum": [
"AzureService",
@@ -6005,6 +6313,11 @@
"modelAsString": true
}
},
+ "isMonthlyInvoice": {
+ "description": "Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
+ "type": "boolean",
+ "readOnly": true
+ },
"billingProfileId": {
"description": "The billing profile id this invoice belongs to.",
"type": "string",
@@ -6016,7 +6329,7 @@
"readOnly": true
},
"purchaseOrderNumber": {
- "description": "The purchase identifier for the invoice.",
+ "description": "An optional purchase order number used for the invoice.",
"type": "string",
"readOnly": true
},
@@ -6035,6 +6348,11 @@
"items": {
"$ref": "#/definitions/PaymentProperties"
}
+ },
+ "subscriptionId": {
+ "description": "The subscription id this invoice belongs to.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -6087,7 +6405,7 @@
"enum": [
"Invoice",
"VoidNote",
- "Receipt",
+ "TaxReceipt",
"CreditNote"
],
"readOnly": true,
@@ -6224,6 +6542,11 @@
"type": "string",
"readOnly": true
},
+ "tenantId": {
+ "description": "The id of the tenant in which the product is used.",
+ "type": "string",
+ "readOnly": true
+ },
"availabilityId": {
"description": "Availability Id.",
"type": "string",
@@ -6616,6 +6939,78 @@
"description": "The subscription name.",
"type": "string",
"readOnly": true
+ },
+ "azureCreditApplied": {
+ "description": "The amount of any Azure credits automatically applied to this transaction.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "billingCurrency": {
+ "description": "The ISO 4217 code for the currency in which this transaction is billed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "discount": {
+ "description": "The percentage discount, if any, applied to this transaction.",
+ "type": "number",
+ "readOnly": true
+ },
+ "effectivePrice": {
+ "description": "The price of the product after applying any discounts.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "exchangeRate": {
+ "description": "The exchange rate used to convert charged amount to billing currency, if applicable.",
+ "type": "number",
+ "readOnly": true
+ },
+ "marketPrice": {
+ "description": "The retail price of the product.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "pricingCurrency": {
+ "description": "The ISO 4217 code for the currency in which the product is priced.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePeriodStartDate": {
+ "description": "The date of the purchase of the product, or the start date of the month in which usage started.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "servicePeriodEndDate": {
+ "description": "The end date of the product term, or the end date of the month in which usage ended.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "subTotal": {
+ "description": "The pre-tax charged amount for the transaction.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "tax": {
+ "description": "The tax amount applied to the transaction.",
+ "readOnly": true,
+ "$ref": "#/definitions/Amount"
+ },
+ "unitOfMeasure": {
+ "description": "The unit of measure used to bill for the product. For example, compute services are billed per hour.",
+ "type": "string",
+ "readOnly": true
+ },
+ "units": {
+ "description": "The number of units used for a given product.",
+ "type": "number",
+ "readOnly": true
+ },
+ "unitType": {
+ "description": "The description for the unit of measure for a given product.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -7093,6 +7488,34 @@
"type": "string",
"readOnly": true
},
+ "category": {
+ "type": "string",
+ "description": "Category of the agreement signed by customer.",
+ "readOnly": true,
+ "enum": [
+ "MicrosoftCustomerAgreement",
+ "AffiliatePurchaseTerms",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "category",
+ "modelAsString": true
+ }
+ },
+ "acceptanceMode": {
+ "type": "string",
+ "description": "The mode of acceptance for an agreement.",
+ "readOnly": true,
+ "enum": [
+ "ClickToAccept",
+ "ESignEmbedded",
+ "ESignOffline"
+ ],
+ "x-ms-enum": {
+ "name": "acceptanceMode",
+ "modelAsString": true
+ }
+ },
"effectiveDate": {
"description": "Effective date.",
"type": "string",
@@ -7207,54 +7630,6 @@
}
}
},
- "LineOfCredit": {
- "description": "Line of credit resource.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "properties": {
- "description": "A line of credit.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/LineOfCreditProperties"
- }
- }
- },
- "LineOfCreditProperties": {
- "description": "The properties of the line of credit.",
- "properties": {
- "creditLimit": {
- "description": "The current credit limit.",
- "$ref": "#/definitions/Amount",
- "readOnly": false
- },
- "reason": {
- "description": "The reason for the line of credit status when not approved.",
- "type": "string",
- "readOnly": true
- },
- "remainingBalance": {
- "description": "Remaining balance.",
- "$ref": "#/definitions/Amount",
- "readOnly": true
- },
- "status": {
- "description": "The line of credit status.",
- "type": "string",
- "enum": [
- "Approved",
- "Rejected"
- ],
- "x-ms-enum": {
- "name": "status",
- "modelAsString": true
- }
- }
- }
- },
"Action": {
"description": "the action the caller allowed to do",
"type": "string",
@@ -7313,6 +7688,14 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "instructionNameParameter": {
+ "name": "instructionName",
+ "in": "path",
+ "description": "Instruction Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"billingProfileNameParameter": {
"name": "billingProfileName",
"in": "path",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementByName.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementByName.json
index a74474b993f3..e3091a49eb3a 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementByName.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementByName.json
@@ -12,6 +12,8 @@
"type": "Microsoft.Billing/billingAccounts/agreements",
"properties": {
"agreementLink": "https://agreementuri1.com",
+ "category": "MicrosoftCustomerAgreement",
+ "acceptanceMode": "ClickToAccept",
"effectiveDate": "2018-12-05T00:00:00Z",
"expirationDate": "2018-12-05T00:00:00Z",
"participants": [
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementsListByBillingAccount.json
index 7858b33f3449..2316d74cb00d 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementsListByBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/AgreementsListByBillingAccount.json
@@ -13,6 +13,8 @@
"type": "Microsoft.Billing/billingAccounts/agreements",
"properties": {
"agreementLink": "https://agreementuri1.com",
+ "category": "MicrosoftCustomerAgreement",
+ "acceptanceMode": "ClickToAccept",
"effectiveDate": "2018-12-05T00:00:00Z",
"expirationDate": "2018-12-05T00:00:00Z",
"participants": [
@@ -36,6 +38,8 @@
"type": "Microsoft.Billing/billingAccounts/agreements",
"properties": {
"agreementLink": "https://agreementuri2.com",
+ "category": "MicrosoftCustomerAgreement",
+ "acceptanceMode": "ESignEmbedded",
"effectiveDate": "2018-12-05T00:00:00Z",
"expirationDate": "2018-12-05T00:00:00Z",
"participants": [
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccount.json
index aa49d5ce7f72..3606d158853e 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccount.json
@@ -13,6 +13,7 @@
"displayName": "Test Account",
"agreementType": "MicrosoftCustomerAgreement",
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountInvoicesList.json
index a95b433064d3..8cae9ef48c9d 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountInvoicesList.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountInvoicesList.json
@@ -20,14 +20,39 @@
"status": "Due",
"amountDue": {
"currency": "USD",
- "value": 2000.00
+ "value": 8.53
},
"billedAmount": {
"currency": "USD",
- "value": 2000.00
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 25.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 7.53
},
"invoicePeriodStartDate": "2018-01-01T17:32:28Z",
"invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
@@ -43,7 +68,7 @@
"paymentType": "credited",
"amount": {
"currency": "USD",
- "value": 2000.00
+ "value": 1.00
},
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
@@ -61,14 +86,39 @@
"status": "PastDue",
"amountDue": {
"currency": "USD",
- "value": 2000.00
+ "value": 16.53
},
"billedAmount": {
"currency": "USD",
- "value": 2000.00
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
},
"invoicePeriodStartDate": "2018-02-01T17:32:28Z",
- "invoicePeriodEndDate": "2018-02-30T17:32:28Z",
+ "invoicePeriodEndDate": "2018-02-28T17:32:28Z",
+ "isMonthlyInvoice": true,
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
@@ -84,7 +134,7 @@
"paymentType": "credited",
"amount": {
"currency": "USD",
- "value": 2000.00
+ "value": 2.00
},
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json
index 4d567b59a53a..af15064c2b47 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json
@@ -26,6 +26,7 @@
"country": "US"
},
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000",
"billingProfiles": [
{
@@ -60,6 +61,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId1",
@@ -104,6 +108,8 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Active",
+ "spendingLimit": "Off",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001/invoiceSections/invoiceSectionId2",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsList.json
index 8ae24f9be32b..64b426ffb4e5 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsList.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsList.json
@@ -14,6 +14,7 @@
"displayName": "Test Account 1",
"agreementType": "MicrosoftCustomerAgreement",
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000"
}
},
@@ -26,6 +27,7 @@
"agreementType": "MicrosoftCustomerAgreement",
"address": null,
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000"
}
},
@@ -37,6 +39,7 @@
"displayName": "Test Account 3",
"agreementType": "MicrosoftCustomerAgreement",
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json
index e4c38f61575b..c7dde32c8a76 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json
@@ -27,6 +27,7 @@
"country": "US"
},
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000",
"billingProfiles": [
{
@@ -61,6 +62,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId1",
@@ -113,6 +117,8 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Active",
+ "spendingLimit": "Off",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000001/invoiceSections/invoiceSectionId11",
@@ -137,6 +143,7 @@
"agreementType": "MicrosoftCustomerAgreement",
"address": null,
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000",
"billingProfiles": [
{
@@ -171,6 +178,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000004/invoiceSections/invoiceSectionId3",
@@ -223,6 +233,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000005/invoiceSections/invoiceSectionId5",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json
index 0d6b2db613f9..794438bcb108 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json
@@ -37,7 +37,10 @@
],
"invoiceDay": 5,
"invoiceEmailOptIn": true,
- "poNumber": "ABC12345"
+ "poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On"
}
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json
index 9353a69265a5..85ac12f6cd22 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json
@@ -38,6 +38,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/invoiceSectionId1",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json
index 5fba4a2affa6..f918258a3c84 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json
@@ -38,7 +38,10 @@
],
"invoiceDay": 5,
"invoiceEmailOptIn": true,
- "poNumber": "ABC12345"
+ "poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On"
}
},
{
@@ -72,7 +75,9 @@
],
"invoiceDay": 5,
"invoiceEmailOptIn": true,
- "poNumber": "ABC12345"
+ "poNumber": "ABC12345",
+ "status": "Active",
+ "spendingLimit": "Off"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json
index d102cee86f2a..28e98ba64c59 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json
@@ -39,6 +39,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId1",
@@ -83,6 +86,9 @@
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
+ "status": "Warned",
+ "statusReasonCode": "PastDue",
+ "spendingLimit": "On",
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001/invoiceSections/invoiceSectionId2",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProperty.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProperty.json
index 29cdfa58259d..616b02f0c3f2 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProperty.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProperty.json
@@ -15,6 +15,9 @@
"billingAccountDisplayName": "My Account",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso operations billing",
+ "billingProfileStatus": "Warned",
+ "billingProfileStatusReasonCode": "PastDue",
+ "billingProfileSpendingLimit": "On",
"costCenter": "1010",
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000",
"invoiceSectionDisplayName": "Contoso operations invoice section",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoice.json
index 2069af1a1bbc..d830d356aa1e 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoice.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoice.json
@@ -14,7 +14,7 @@
"properties": {
"dueDate": "2018-03-01T17:32:28Z",
"invoiceDate": "2018-02-01T17:32:28Z",
- "status": "PastDue",
+ "status": "Paid",
"amountDue": {
"currency": "USD",
"value": 2000.00
@@ -46,9 +46,10 @@
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
}
- ]
+ ],
+ "subscriptionId": "55000000-0000-0000-0000-000000000011"
}
- }
+ }
}
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoicesList.json
index dcdf47e35401..7341d584d273 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoicesList.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingSubscriptionInvoicesList.json
@@ -25,7 +25,8 @@
"invoicePeriodStartDate": "2018-01-01T17:32:28Z",
"invoicePeriodEndDate": "2018-01-15T17:32:28Z",
"invoiceType": "AzureServices",
- "purchaseOrderNumber": "123456"
+ "purchaseOrderNumber": "123456",
+ "subscriptionId": "55000000-0000-0000-0000-000000000011"
}
},
{
@@ -35,7 +36,7 @@
"properties": {
"dueDate": "2018-03-01T17:32:28Z",
"invoiceDate": "2018-02-01T17:32:28Z",
- "status": "PastDue",
+ "status": "Paid",
"amountDue": {
"currency": "USD",
"value": 2000.00
@@ -67,7 +68,8 @@
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
}
- ]
+ ],
+ "subscriptionId": "55000000-0000-0000-0000-000000000011"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/CreateBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/CreateBillingProfile.json
index dbc4fe70d1d2..399fa14d1365 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/CreateBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/CreateBillingProfile.json
@@ -62,7 +62,9 @@
],
"invoiceDay": 5,
"invoiceEmailOptIn": true,
- "poNumber": "ABC12345"
+ "poNumber": "ABC12345",
+ "status": "Active",
+ "spendingLimit": "Off"
}
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/IncreaseLineOfCreditBySubscription.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/IncreaseLineOfCreditBySubscription.json
deleted file mode 100644
index ba785726b009..000000000000
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/IncreaseLineOfCreditBySubscription.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-10-01-preview",
- "subscriptionId": "{subscriptionId}",
- "parameters": {
- "properties": {
- "creditLimit": {
- "value": 20000.00
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingAccounts/default/lineOfCredit/default",
- "name": "default",
- "type": "Microsoft.Billing/lineOfCredit",
- "properties": {
- "creditLimit": {
- "currency": "USD",
- "value": 20000.00
- },
- "reason": null,
- "remainingBalance": {
- "currency": "USD",
- "value": 6000.00
- },
- "status": "Approved"
- }
- }
- },
- "202": {
- "headers": {
- "Location": "https://management.azure.com/providers/Microsoft.Billing/operationResults/44000000-0000-0000-0000-000000000000?api-version=2019-10-01-preview",
- "Retry-After": "60",
- "OData-EntityId": "44000000-0000-0000-0000-000000000000"
- }
- }
- }
-}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Instruction.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Instruction.json
new file mode 100644
index 000000000000..346e8be019ac
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Instruction.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "instructionName": "{instructionName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}",
+ "name": "{instructionName}",
+ "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions",
+ "properties": {
+ "amount": 5000.0,
+ "startDate": "2019-12-30T21:26:47.997Z",
+ "endDate": "2020-12-30T21:26:47.997Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InstructionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InstructionsListByBillingProfile.json
new file mode 100644
index 000000000000..ca4723296e81
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InstructionsListByBillingProfile.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/TO1:CLIN001",
+ "name": "TO1:CLIN001",
+ "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions",
+ "properties": {
+ "amount": 5000.0,
+ "startDate": "2019-12-30T21:26:47.997Z",
+ "endDate": "2020-12-30T21:26:47.997Z"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/TO1:CLIN002",
+ "name": "TO1:CLIN002",
+ "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions",
+ "properties": {
+ "amount": 2000.0,
+ "startDate": "2019-12-30T21:26:47.997Z",
+ "endDate": "2020-12-30T21:26:47.997Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Invoice.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Invoice.json
index 094ddb082c5a..92805185cb6b 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Invoice.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Invoice.json
@@ -17,14 +17,39 @@
"status": "Due",
"amountDue": {
"currency": "USD",
- "value": 2000.00
+ "value": 16.53
},
"billedAmount": {
"currency": "USD",
- "value": 2000.00
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
},
"invoicePeriodStartDate": "2018-01-01T17:32:28Z",
"invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
@@ -48,7 +73,7 @@
"paymentType": "credited",
"amount": {
"currency": "USD",
- "value": 2000.00
+ "value": 2.00
},
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListWithCreateSubPermission.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListWithCreateSubPermission.json
index dfc97353d0d6..27263ca62393 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListWithCreateSubPermission.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListWithCreateSubPermission.json
@@ -12,6 +12,9 @@
"invoiceSectionDisplayName": "invoiceSection1",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso operations billing",
+ "billingProfileStatus": "Warned",
+ "billingProfileStatusReasonCode": "PastDue",
+ "billingProfileSpendingLimit": "On",
"enabledAzurePlans": [
{
"skuId": "0001",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoicesListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoicesListByBillingProfile.json
index 5f62c236eeba..6867b5848080 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoicesListByBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoicesListByBillingProfile.json
@@ -21,14 +21,39 @@
"status": "Due",
"amountDue": {
"currency": "USD",
- "value": 2000.00
+ "value": 8.53
},
"billedAmount": {
"currency": "USD",
- "value": 2000.00
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 25.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 7.53
},
"invoicePeriodStartDate": "2018-01-01T17:32:28Z",
"invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
@@ -52,7 +77,7 @@
"paymentType": "credited",
"amount": {
"currency": "USD",
- "value": 2000.00
+ "value": 1.00
},
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
@@ -67,17 +92,42 @@
"properties": {
"dueDate": "2018-03-01T17:32:28Z",
"invoiceDate": "2018-01-01T17:32:28Z",
- "status": "PastDue",
+ "status": "Due",
"amountDue": {
"currency": "USD",
- "value": 2000.00
+ "value": 16.53
},
"billedAmount": {
"currency": "USD",
- "value": 2000.00
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
},
"invoicePeriodStartDate": "2018-02-01T17:32:28Z",
- "invoicePeriodEndDate": "2018-02-30T17:32:28Z",
+ "invoicePeriodEndDate": "2018-02-28T17:32:28Z",
+ "isMonthlyInvoice": true,
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
@@ -101,7 +151,7 @@
"paymentType": "credited",
"amount": {
"currency": "USD",
- "value": 2000.00
+ "value": 2.00
},
"paymentMethodFamily": "CreditCard",
"paymentMethodType": "visa"
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/LineOfCreditBySubscription.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/LineOfCreditBySubscription.json
deleted file mode 100644
index 8e1fb4a25ff5..000000000000
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/LineOfCreditBySubscription.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-10-01-preview",
- "subscriptionId": "{subscriptionId}"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingAccounts/default/lineOfCredit/default",
- "name": "default",
- "type": "Microsoft.Billing/lineOfCredit",
- "properties": {
- "creditLimit": {
- "currency": "USD",
- "value": 20000.00
- },
- "reason": null,
- "remainingBalance": {
- "currency": "USD",
- "value": 6000.00
- },
- "status": "Approved"
- }
- }
- }
- }
-}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Product.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Product.json
index 8fd3e3f66b12..3110818d708f 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Product.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Product.json
@@ -27,6 +27,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByBillingAccount.json
index 501b5d32eba2..57579b5ed754 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByBillingAccount.json
@@ -25,6 +25,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"billingFrequency": "OneTime",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
@@ -52,6 +53,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"billingFrequency": "Monthly",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByCustomer.json
index a7a69b529d7e..87c146a1c62b 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByCustomer.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByCustomer.json
@@ -27,6 +27,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
"customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}",
@@ -58,6 +59,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
"customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByInvoiceSection.json
index a8ab1eaf3cb5..68ab8aa62fc8 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByInvoiceSection.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ProductsListByInvoiceSection.json
@@ -28,6 +28,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutInstruction.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutInstruction.json
new file mode 100644
index 000000000000..741abd5c03ea
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutInstruction.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "instructionName": "{instructionName}",
+ "parameters": {
+ "properties": {
+ "amount": 5000.0,
+ "startDate": "2019-12-30T21:26:47.997Z",
+ "endDate": "2020-12-30T21:26:47.997Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}",
+ "name": "{instructionName}",
+ "type": "Microsoft.Billing/billingAccounts/billingProfiles/instructions",
+ "properties": {
+ "amount": 5000.0,
+ "startDate": "2019-12-30T21:26:47.997Z",
+ "endDate": "2020-12-30T21:26:47.997Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Transaction.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Transaction.json
index 206b2e3dc338..092e1ccca619 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Transaction.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/Transaction.json
@@ -29,7 +29,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 2000.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 4500.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 11.25,
+ "unitType": "1 Runtime Minute"
}
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingAccount.json
index e31eb448ca25..09387b9e3177 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingAccount.json
@@ -29,7 +29,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 2000.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 4500.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 11.25,
+ "unitType": "1 Runtime Minute"
}
},
{
@@ -52,7 +82,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 45.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 5.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 1.25,
+ "unitType": "1 Runtime Minute"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingProfile.json
index 38d31b0f6e87..68f04b76f6cc 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByBillingProfile.json
@@ -30,7 +30,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 2000.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 4500.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 11.25,
+ "unitType": "1 Runtime Minute"
}
},
{
@@ -53,7 +83,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 45.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 5.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 1.25,
+ "unitType": "1 Runtime Minute"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByCustomer.json
index 2d559b560cb3..418913b5c1c6 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByCustomer.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByCustomer.json
@@ -28,7 +28,37 @@
"value": 5000.00
},
"customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}",
- "customerDisplayName": "Contoso operations customer"
+ "customerDisplayName": "Contoso operations customer",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 2000.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 4500.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 11.25,
+ "unitType": "1 Runtime Minute"
}
},
{
@@ -49,7 +79,37 @@
"value": 50.00
},
"customerId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}",
- "customerDisplayName": "Contoso operations customer"
+ "customerDisplayName": "Contoso operations customer",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 45.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 5.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 1.25,
+ "unitType": "1 Runtime Minute"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoice.json
new file mode 100644
index 000000000000..7c1da9f1e531
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoice.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/BillingProfiles/{billingProfileName}/transactions/41000000-0000-0000-0000-000000000000",
+ "name": "41000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions",
+ "properties": {
+ "kind": "all",
+ "date": "2018-05-01T00:00:00Z",
+ "invoice": "2344233",
+ "productFamily": "Storage",
+ "productTypeId": "A12345",
+ "productType": "VM Instance",
+ "productDescription": "Standard D1, US West 3",
+ "transactionType": "Purchase",
+ "transactionAmount": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000",
+ "invoiceSectionDisplayName": "Contoso operations invoiceSection",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 2000.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 4500.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 11.25,
+ "unitType": "1 Runtime Minute"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/{billingAccountName}/BillingProfiles/{billingProfileName}/transactions/51000000-0000-0000-0000-000000000000",
+ "name": "51000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions",
+ "properties": {
+ "kind": "all",
+ "date": "2018-04-01T00:00:00Z",
+ "invoice": "pending",
+ "productFamily": "Storage",
+ "productTypeId": "A12345",
+ "productType": "VM Instance",
+ "productDescription": "Standard Support",
+ "transactionType": "Cancel",
+ "transactionAmount": {
+ "currency": "USD",
+ "value": 50.00
+ },
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/22000000-0000-0000-0000-000000000000",
+ "invoiceSectionDisplayName": "Contoso operations invoiceSection",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 45.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 5.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 1.25,
+ "unitType": "1 Runtime Minute"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoiceSection.json
index 2d9017ed9ebe..2a2d00de78fc 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoiceSection.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransactionsListByInvoiceSection.json
@@ -31,7 +31,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 2000.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 4500.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 11.25,
+ "unitType": "1 Runtime Minute"
}
},
{
@@ -54,7 +84,37 @@
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}",
"invoiceSectionDisplayName": "Contoso operations invoiceSection",
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
- "billingProfileDisplayName": "Contoso operations billing"
+ "billingProfileDisplayName": "Contoso operations billing",
+ "azureCreditApplied": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "billingCurrency": "USD",
+ "discount": 0.1,
+ "effectivePrice": {
+ "currency": "USD",
+ "value": 10.00
+ },
+ "exchangeRate": 1,
+ "marketPrice": {
+ "currency": "USD",
+ "value": 20.00
+ },
+ "pricingCurrency": "USD",
+ "quantity": 1,
+ "servicePeriodStartDate": "2018-05-01T00:00:00Z",
+ "servicePeriodEndDate": "2018-09-30T00:00:00Z",
+ "subTotal": {
+ "currency": "USD",
+ "value": 45.00
+ },
+ "tax": {
+ "currency": "USD",
+ "value": 5.00
+ },
+ "unitOfMeasure": "1 Minute",
+ "units": 1.25,
+ "unitType": "1 Runtime Minute"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransferProduct.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransferProduct.json
index 6f12595407f9..e95947c508cf 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransferProduct.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/TransferProduct.json
@@ -31,6 +31,7 @@
"quantity": 4,
"skuId": "0001",
"skuDescription": "Enterprise Agreement Development",
+ "tenantId": "515a6d36-aaf8-4ca2-a5e8-c45deb0c5cce",
"availabilityId": "AvailabilityId1",
"parentProductId": "45000000-0000-0000-0000-0000000001242",
"invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{newBillingProfileName}/invoiceSections/{newInvoiceSectionName}",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingAccount.json
index 7217cbd1c847..0e11c84137e4 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingAccount.json
@@ -33,6 +33,7 @@
"displayName": "Test Account",
"agreementType": "MicrosoftCustomerAgreement",
"customerType": "Enterprise",
+ "accountType": "Enterprise",
"organizationId": "00000000-0000-0000-0000-000000000000"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingProfile.json
index 0ef3293b816f..42e0283a54d2 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/UpdateBillingProfile.json
@@ -50,7 +50,9 @@
],
"invoiceDay": 5,
"invoiceEmailOptIn": true,
- "poNumber": "ABC12345"
+ "poNumber": "ABC12345",
+ "status": "Active",
+ "spendingLimit": "Off"
}
}
}
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
index 51375d097579..9b9da934a5c4 100644
--- a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
@@ -306,7 +306,16 @@
"AssignmentStatus": {
"description": "The status of a blueprint assignment. This field is readonly.",
"type": "object",
- "properties": {},
+ "properties": {
+ "managedResources": {
+ "type": "array",
+ "description": "List of resources that were created by the blueprint assignment.",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
"allOf": [
{
"$ref": "#/definitions/BlueprintResourceStatusBase"
@@ -336,6 +345,13 @@
"items": {
"type": "string"
}
+ },
+ "excludedActions": {
+ "type": "array",
+ "description": "List of management operations that are excluded from blueprint locks. Up to 200 actions are permitted. If the lock mode is set to 'AllResourcesReadOnly', then the following actions are automatically appended to 'excludedActions': '*/read', 'Microsoft.Network/virtualNetworks/subnets/join/action' and 'Microsoft.Authorization/locks/delete'. If the lock mode is set to 'AllResourcesDoNotDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will get removed.",
+ "items": {
+ "type": "string"
+ }
}
}
},
@@ -348,12 +364,19 @@
"description": "ID of the published version of a blueprint definition."
},
"parameters": {
- "$ref": "#/definitions/ParameterValueCollection",
- "description": "Blueprint assignment parameter values."
+ "type": "object",
+ "description": "Blueprint assignment parameter values.",
+ "additionalProperties": {
+ "description": "Key/Value pair of parameter fulfillment.",
+ "$ref": "#/definitions/ParameterValue"
+ }
},
"resourceGroups": {
- "$ref": "#/definitions/ResourceGroupValueCollection",
- "description": "Names and locations of resource group placeholders."
+ "description": "Names and locations of resource group placeholders.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceGroupValue"
+ }
},
"status": {
"description": "Status of blueprint assignment. This field is readonly.",
@@ -396,59 +419,20 @@
"resourceGroups"
]
},
- "ParameterValueCollection": {
- "description": "A dictionary for parameters and their corresponding values.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "description": "Key/Value pair of parameter fulfillment.",
- "$ref": "#/definitions/ParameterValueBase"
- }
- },
- "ParameterValueBase": {
- "description": "Base class for ParameterValue.",
- "type": "object",
- "properties": {
- "description": {
- "description": "Optional property. Establishes ParameterValueBase as a BaseClass.",
- "type": "string"
- }
- }
- },
"ParameterValue": {
- "description": "Value for the specified parameter.",
+ "description": "Value for the specified parameter. Can be either 'value' or 'reference' but not both.",
"type": "object",
"properties": {
"value": {
- "description": "Actual value."
- }
- },
- "required": [
- "value"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ParameterValueBase"
- }
- ]
- },
- "SecretReferenceParameterValue": {
- "description": "The reference to a secret, if the parameter should be protected.",
- "type": "object",
- "properties": {
+ "type": "object",
+ "description": "Parameter value. Any valid JSON value is allowed including objects, arrays, strings, numbers and booleans."
+ },
"reference": {
- "description": "Specifies the reference.",
+ "type": "object",
+ "description": "Parameter value as reference type.",
"$ref": "#/definitions/SecretValueReference"
}
- },
- "required": [
- "reference"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ParameterValueBase"
- }
- ]
+ }
},
"SecretValueReference": {
"description": "Reference to a Key Vault secret.",
@@ -485,14 +469,6 @@
"id"
]
},
- "ResourceGroupValueCollection": {
- "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "$ref": "#/definitions/ResourceGroupValue"
- }
- },
"ResourceGroupValue": {
"description": "Represents an Azure resource group.",
"type": "object",
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
index 8e438d1ceedd..b06443ca4cbb 100644
--- a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
@@ -851,11 +851,19 @@
},
"parameters": {
"description": "Parameters required by this blueprint definition.",
- "$ref": "#/definitions/ParameterDefinitionCollection"
+ "type": "object",
+ "additionalProperties": {
+ "description": "Named collection of parameter metadata.",
+ "$ref": "#/definitions/ParameterDefinition"
+ }
},
"resourceGroups": {
"description": "Resource group placeholders defined by this blueprint definition.",
- "$ref": "#/definitions/ResourceGroupDefinitionCollection"
+ "type": "object",
+ "additionalProperties": {
+ "description": "Named collection for resourceGroupDefinition.",
+ "$ref": "#/definitions/ResourceGroupDefinition"
+ }
}
},
"allOf": [
@@ -931,8 +939,12 @@
"description": "If applicable, the name of the resource group placeholder to which the Resource Manager template blueprint artifact will be deployed."
},
"parameters": {
+ "type": "object",
"description": "Resource Manager template blueprint artifact parameter values.",
- "$ref": "#/definitions/ParameterValueCollection"
+ "additionalProperties": {
+ "description": "Key/Value pair of parameter fulfillment.",
+ "$ref": "#/definitions/ParameterValue"
+ }
}
},
"allOf": [
@@ -1026,8 +1038,12 @@
"description": "Azure resource ID of the policy definition."
},
"parameters": {
+ "type": "object",
"description": "Parameter values for the policy definition.",
- "$ref": "#/definitions/ParameterValueCollection"
+ "additionalProperties": {
+ "description": "Key/Value pair of parameter fulfillment.",
+ "$ref": "#/definitions/ParameterValue"
+ }
},
"resourceGroup": {
"type": "string",
@@ -1067,59 +1083,20 @@
"properties"
]
},
- "ParameterValueCollection": {
- "description": "A dictionary for parameters and their corresponding values.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "description": "Key/Value pair of parameter fulfillment.",
- "$ref": "#/definitions/ParameterValueBase"
- }
- },
- "ParameterValueBase": {
- "description": "Base class for ParameterValue.",
- "type": "object",
- "properties": {
- "description": {
- "description": "Optional property. Establishes ParameterValueBase as a BaseClass.",
- "type": "string"
- }
- }
- },
"ParameterValue": {
- "description": "Value for the specified parameter.",
+ "description": "Value for the specified parameter. Can be either 'value' or 'reference' but not both.",
"type": "object",
"properties": {
"value": {
- "description": "Actual value."
- }
- },
- "required": [
- "value"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ParameterValueBase"
- }
- ]
- },
- "SecretReferenceParameterValue": {
- "description": "The reference to a secret, if the parameter should be protected.",
- "type": "object",
- "properties": {
+ "type": "object",
+ "description": "Parameter value. Any valid JSON value is allowed including objects, arrays, strings, numbers and booleans."
+ },
"reference": {
- "description": "Specifies the reference.",
+ "type": "object",
+ "description": "Parameter value as reference type.",
"$ref": "#/definitions/SecretValueReference"
}
- },
- "required": [
- "reference"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ParameterValueBase"
- }
- ]
+ }
},
"SecretValueReference": {
"description": "Reference to a Key Vault secret.",
@@ -1156,15 +1133,6 @@
"id"
]
},
- "ParameterDefinitionCollection": {
- "description": "A dictionary hold parameter name and its metadata.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "description": "Named collection of parameter metadata.",
- "$ref": "#/definitions/ParameterDefinition"
- }
- },
"ParameterDefinition": {
"description": "Represent a parameter with constrains and metadata.",
"type": "object",
@@ -1206,15 +1174,6 @@
"type"
]
},
- "ResourceGroupDefinitionCollection": {
- "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "description": "Named collection for resourceGroupDefinition.",
- "$ref": "#/definitions/ResourceGroupDefinition"
- }
- },
"ResourceGroupDefinition": {
"description": "Represents an Azure resource group in a blueprint definition.",
"type": "object",
@@ -1245,18 +1204,13 @@
},
"tags": {
"description": "Tags to be assigned to this resource group.",
- "$ref": "#/definitions/ResourceGroupTagCollection"
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
},
- "ResourceGroupTagCollection": {
- "description": "A dictionary of resource group tag values.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "type": "string"
- }
- },
"ParameterDefinitionMetadata": {
"type": "object",
"description": "User-friendly properties for this parameter.",
@@ -1273,35 +1227,11 @@
},
"strongType": {
"type": "string",
- "description": "StrongType for UI to render rich experience during blueprint assignment.",
+ "description": "StrongType for UI to render rich experience during blueprint assignment. Supported strong types are resourceType, principalId and location.",
"maxLength": 64
}
}
},
- "ResourceGroupValueCollection": {
- "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "$ref": "#/definitions/ResourceGroupValue"
- }
- },
- "ResourceGroupValue": {
- "description": "Represents an Azure resource group.",
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the resource group.",
- "minLength": 1,
- "maxLength": 90
- },
- "location": {
- "type": "string",
- "description": "Location of the resource group."
- }
- }
- },
"AzureResourceBase": {
"description": "Common properties for all Azure resources.",
"type": "object",
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
index 01445743780d..f20809681f57 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
@@ -7,6 +7,7 @@
"endpointName": "endpoint1",
"customDomainName": "www-someDomain-net",
"customHttpsParameters": {
+ "minimumTlsVersion": "TLS12",
"certificateSource": "AzureKeyVault",
"protocolType": "ServerNameIndication",
"certificateSourceParameters": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
index a2e61e2c7c83..822b94cf1037 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
@@ -7,6 +7,7 @@
"endpointName": "endpoint1",
"customDomainName": "www-someDomain-net",
"customHttpsParameters": {
+ "minimumTlsVersion": "TLS12",
"certificateSource": "Cdn",
"protocolType": "ServerNameIndication",
"certificateSourceParameters": {
diff --git a/specification/cdn/resource-manager/readme.cli.md b/specification/cdn/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..5a65e7f88013
--- /dev/null
+++ b/specification/cdn/resource-manager/readme.cli.md
@@ -0,0 +1,53 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: cdn
+ package-name: azure-mgmt-cdn
+ namespace: azure.mgmt.cdn
+ test-scenario:
+ - name: Profiles_Create
+ - name: Endpoints_Create
+ - name: Creates specific policy
+ - name: CustomDomains_Create
+ - name: CustomDomains_Get
+ - name: Origins_Get
+ - name: Get Policy
+ - name: CustomDomains_ListByEndpoint
+ - name: Origins_ListByEndpoint
+ - name: Endpoints_Get
+ - name: Endpoints_ListByProfile
+ - name: List Policies in a Resource Group
+ - name: Profiles_Get
+ - name: Profiles_ListByResourceGroup
+ - name: List Policies in a Resource Group
+ - name: Profiles_List
+ - name: Operations_List
+ - name: EdgeNodes_List
+ - name: CustomDomains_DisableCustomHttps
+ - name: CustomDomains_EnableCustomHttpsUsingYourOwnCertificate
+ - name: CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate
+ - name: Origins_Update
+ - name: Creates specific policy
+ - name: Endpoints_ValidateCustomDomain
+ - name: Endpoints_ListResourceUsage
+ - name: Endpoints_PurgeContent
+ - name: Endpoints_Start
+ - name: Endpoints_Stop
+ - name: Endpoints_LoadContent
+ - name: Profiles_ListSupportedOptimizationTypes
+ - name: Endpoints_Update
+ - name: Profiles_ListResourceUsage
+ - name: Profiles_GenerateSsoUri
+ - name: Profiles_Update
+ - name: CheckNameAvailabilityWithSubscription
+ - name: ResourceUsage_List
+ - name: ValidateProbe
+ - name: CheckNameAvailability
+ - name: CustomDomains_Delete
+ - name: Delete protection policy
+ - name: Endpoints_Delete
+ - name: Profiles_Delete
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
index 3fd80c40c8bb..ce059f848f1b 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
@@ -3,7 +3,7 @@
"info": {
"version": "1.0",
"title": "Anomaly Detector Client",
- "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two functionalities, one is for detecting the whole series with model trained by the timeseries, another is detecting last point with model trained by points before. By using this service, business customers can discover incidents and establish a logic flow for root cause analysis."
+ "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis."
},
"securityDefinitions": {
"apiKeyHeader": {
@@ -43,12 +43,8 @@
}
}
],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
"responses": {
"200": {
"description": "Successful operation.",
@@ -86,12 +82,8 @@
}
}
],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
"responses": {
"200": {
"description": "Successful operation.",
@@ -112,6 +104,45 @@
}
}
}
+ },
+ "/timeseries/changePoint/detect": {
+ "post": {
+ "summary": "Detect change point for the entire series",
+ "description": "Evaluate change point score of every series point",
+ "operationId": "ChangePointDetect",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and granularity is needed. Advanced model parameters can also be set in the request if needed.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ChangePointDetectRequest"
+ }
+ }
+ ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/ChangePointDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect change point example": {
+ "$ref": "./examples/ChangePointDetect.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -127,7 +158,10 @@
"InvalidGranularity",
"InvalidPeriod",
"InvalidModelArgument",
- "InvalidSeries"
+ "InvalidSeries",
+ "InvalidJsonFormat",
+ "RequiredGranularity",
+ "RequiredSeries"
],
"x-ms-enum": {
"name": "AnomalyDetectorErrorCodes",
@@ -140,12 +174,25 @@
}
}
},
+ "Granularity": {
+ "type": "string",
+ "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "Granularity",
+ "modelAsString": false
+ },
+ "enum": ["yearly", "monthly", "weekly", "daily", "hourly", "minutely"]
+ },
+ "CustomInterval": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
+ },
"Request": {
"type": "object",
- "required": [
- "granularity",
- "series"
- ],
+ "required": ["granularity", "series"],
"properties": {
"series": {
"type": "array",
@@ -155,25 +202,11 @@
}
},
"granularity": {
- "type": "string",
- "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.",
- "x-ms-enum": {
- "name": "Granularity",
- "modelAsString": false
- },
- "enum": [
- "yearly",
- "monthly",
- "weekly",
- "daily",
- "hourly",
- "minutely"
- ]
+ "$ref": "#/definitions/Granularity"
},
"customInterval": {
- "type": "integer",
- "format": "int32",
- "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
+ "$ref": "#/definitions/CustomInterval"
},
"period": {
"type": "integer",
@@ -194,10 +227,7 @@
},
"Point": {
"type": "object",
- "required": [
- "timestamp",
- "value"
- ],
+ "required": ["timestamp", "value"],
"properties": {
"timestamp": {
"type": "string",
@@ -332,6 +362,70 @@
"description": "Anomaly status in positive direction of the latest point. True means the latest point is an anomaly and its real value is larger than the expected one."
}
}
+ },
+ "ChangePointDetectRequest": {
+ "type": "object",
+ "required": ["granularity", "series"],
+ "properties": {
+ "series": {
+ "type": "array",
+ "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.",
+ "items": {
+ "$ref": "#/definitions/Point"
+ }
+ },
+ "granularity": {
+ "$ref": "#/definitions/Granularity",
+ "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid."
+ },
+ "customInterval": {
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
+ "$ref": "#/definitions/CustomInterval"
+ },
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically."
+ },
+ "stableTrendWindow": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, advanced model parameter, a default stableTrendWindow will be used in detection."
+ },
+ "threshold": {
+ "type": "number",
+ "format": "float",
+ "description": "Optional argument, advanced model parameter, between 0.0-1.0, the lower the value is, the larger the trend error will be which means less change point will be accepted."
+ }
+ }
+ },
+ "ChangePointDetectResponse": {
+ "type": "object",
+ "required": ["isChangePoint", "confidenceScores", "period"],
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "isChangePoint": {
+ "type": "array",
+ "description": "isChangePoint contains change point properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean",
+ "x-nullable": false
+ }
+ },
+ "confidenceScores": {
+ "type": "array",
+ "description": "the change point confidence of each point",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "x-nullable": false
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/examples/ChangePointDetect.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/examples/ChangePointDetect.json
new file mode 100644
index 000000000000..e8866dadda32
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/examples/ChangePointDetect.json
@@ -0,0 +1,1569 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [
+ {
+ "timestamp": "2017-01-01T06:45:00Z",
+ "value": 1639196
+ },
+ {
+ "timestamp": "2017-01-01T06:50:00Z",
+ "value": 1639290
+ },
+ {
+ "timestamp": "2017-01-01T06:55:00Z",
+ "value": 1667293
+ },
+ {
+ "timestamp": "2017-01-01T07:00:00Z",
+ "value": 1703130
+ },
+ {
+ "timestamp": "2017-01-01T07:05:00Z",
+ "value": 1650912
+ },
+ {
+ "timestamp": "2017-01-01T07:10:00Z",
+ "value": 1653596
+ },
+ {
+ "timestamp": "2017-01-01T07:15:00Z",
+ "value": 1653793
+ },
+ {
+ "timestamp": "2017-01-01T07:20:00Z",
+ "value": 1653795
+ },
+ {
+ "timestamp": "2017-01-01T07:25:00Z",
+ "value": 1663471
+ },
+ {
+ "timestamp": "2017-01-01T07:30:00Z",
+ "value": 1662358
+ },
+ {
+ "timestamp": "2017-01-01T07:35:00Z",
+ "value": 1664320
+ },
+ {
+ "timestamp": "2017-01-01T07:40:00Z",
+ "value": 1664942
+ },
+ {
+ "timestamp": "2017-01-01T07:45:00Z",
+ "value": 1664966
+ },
+ {
+ "timestamp": "2017-01-01T07:50:00Z",
+ "value": 1724271
+ },
+ {
+ "timestamp": "2017-01-01T07:55:00Z",
+ "value": 1678720
+ },
+ {
+ "timestamp": "2017-01-01T08:00:00Z",
+ "value": 1672536
+ },
+ {
+ "timestamp": "2017-01-01T08:05:00Z",
+ "value": 1672544
+ },
+ {
+ "timestamp": "2017-01-01T08:10:00Z",
+ "value": 1672364
+ },
+ {
+ "timestamp": "2017-01-01T08:15:00Z",
+ "value": 1672912
+ },
+ {
+ "timestamp": "2017-01-01T08:20:00Z",
+ "value": 1672736
+ },
+ {
+ "timestamp": "2017-01-01T08:25:00Z",
+ "value": 1672725
+ },
+ {
+ "timestamp": "2017-01-01T08:30:00Z",
+ "value": 1673247
+ },
+ {
+ "timestamp": "2017-01-01T08:35:00Z",
+ "value": 1673109
+ },
+ {
+ "timestamp": "2017-01-01T08:40:00Z",
+ "value": 1690088
+ },
+ {
+ "timestamp": "2017-01-01T08:45:00Z",
+ "value": 1703865
+ },
+ {
+ "timestamp": "2017-01-01T08:50:00Z",
+ "value": 1703865
+ },
+ {
+ "timestamp": "2017-01-01T08:55:00Z",
+ "value": 1786581
+ },
+ {
+ "timestamp": "2017-01-01T09:00:00Z",
+ "value": 1800945
+ },
+ {
+ "timestamp": "2017-01-01T09:05:00Z",
+ "value": 1800957
+ },
+ {
+ "timestamp": "2017-01-01T09:10:00Z",
+ "value": 1801191
+ },
+ {
+ "timestamp": "2017-01-01T09:15:00Z",
+ "value": 1801412
+ },
+ {
+ "timestamp": "2017-01-01T09:20:00Z",
+ "value": 1801621
+ },
+ {
+ "timestamp": "2017-01-01T09:25:00Z",
+ "value": 1801621
+ },
+ {
+ "timestamp": "2017-01-01T09:30:00Z",
+ "value": 1801654
+ },
+ {
+ "timestamp": "2017-01-01T09:35:00Z",
+ "value": 1802105
+ },
+ {
+ "timestamp": "2017-01-01T09:40:00Z",
+ "value": 1801800
+ },
+ {
+ "timestamp": "2017-01-01T09:45:00Z",
+ "value": 1803040
+ },
+ {
+ "timestamp": "2017-01-01T09:50:00Z",
+ "value": 1803672
+ },
+ {
+ "timestamp": "2017-01-01T09:55:00Z",
+ "value": 1803535
+ },
+ {
+ "timestamp": "2017-01-01T10:00:00Z",
+ "value": 1803541
+ },
+ {
+ "timestamp": "2017-01-01T10:05:00Z",
+ "value": 1803545
+ },
+ {
+ "timestamp": "2017-01-01T10:10:00Z",
+ "value": 1803599
+ },
+ {
+ "timestamp": "2017-01-01T10:15:00Z",
+ "value": 1803616
+ },
+ {
+ "timestamp": "2017-01-01T10:20:00Z",
+ "value": 1803619
+ },
+ {
+ "timestamp": "2017-01-01T10:25:00Z",
+ "value": 1809942
+ },
+ {
+ "timestamp": "2017-01-01T10:30:00Z",
+ "value": 1802720
+ },
+ {
+ "timestamp": "2017-01-01T10:35:00Z",
+ "value": 1802720
+ },
+ {
+ "timestamp": "2017-01-01T10:40:00Z",
+ "value": 1802888
+ },
+ {
+ "timestamp": "2017-01-01T10:45:00Z",
+ "value": 1809574
+ },
+ {
+ "timestamp": "2017-01-01T10:50:00Z",
+ "value": 1803896
+ },
+ {
+ "timestamp": "2017-01-01T10:55:00Z",
+ "value": 1803850
+ },
+ {
+ "timestamp": "2017-01-01T11:00:00Z",
+ "value": 1803854
+ },
+ {
+ "timestamp": "2017-01-01T11:05:00Z",
+ "value": 1803854
+ },
+ {
+ "timestamp": "2017-01-01T11:10:00Z",
+ "value": 1803797
+ },
+ {
+ "timestamp": "2017-01-01T11:15:00Z",
+ "value": 1803921
+ },
+ {
+ "timestamp": "2017-01-01T11:20:00Z",
+ "value": 1803933
+ },
+ {
+ "timestamp": "2017-01-01T11:25:00Z",
+ "value": 1804040
+ },
+ {
+ "timestamp": "2017-01-01T11:30:00Z",
+ "value": 1804044
+ },
+ {
+ "timestamp": "2017-01-01T11:35:00Z",
+ "value": 1804070
+ },
+ {
+ "timestamp": "2017-01-01T11:40:00Z",
+ "value": 1804070
+ },
+ {
+ "timestamp": "2017-01-01T11:45:00Z",
+ "value": 1804068
+ },
+ {
+ "timestamp": "2017-01-01T11:50:00Z",
+ "value": 1804073
+ },
+ {
+ "timestamp": "2017-01-01T11:55:00Z",
+ "value": 1804101
+ },
+ {
+ "timestamp": "2017-01-01T12:00:00Z",
+ "value": 1804674
+ },
+ {
+ "timestamp": "2017-01-01T12:05:00Z",
+ "value": 1804714
+ },
+ {
+ "timestamp": "2017-01-01T12:10:00Z",
+ "value": 1804730
+ },
+ {
+ "timestamp": "2017-01-01T12:15:00Z",
+ "value": 1804816
+ },
+ {
+ "timestamp": "2017-01-01T12:20:00Z",
+ "value": 1803996
+ },
+ {
+ "timestamp": "2017-01-01T12:25:00Z",
+ "value": 1803998
+ },
+ {
+ "timestamp": "2017-01-01T12:30:00Z",
+ "value": 1804015
+ },
+ {
+ "timestamp": "2017-01-01T12:35:00Z",
+ "value": 1804047
+ },
+ {
+ "timestamp": "2017-01-01T12:40:00Z",
+ "value": 1804050
+ },
+ {
+ "timestamp": "2017-01-01T12:45:00Z",
+ "value": 1804218
+ },
+ {
+ "timestamp": "2017-01-01T12:50:00Z",
+ "value": 1804217
+ },
+ {
+ "timestamp": "2017-01-01T12:55:00Z",
+ "value": 1804217
+ },
+ {
+ "timestamp": "2017-01-01T13:00:00Z",
+ "value": 1804205
+ },
+ {
+ "timestamp": "2017-01-01T13:05:00Z",
+ "value": 1804728
+ },
+ {
+ "timestamp": "2017-01-01T13:10:00Z",
+ "value": 1804748
+ },
+ {
+ "timestamp": "2017-01-01T13:15:00Z",
+ "value": 1805232
+ },
+ {
+ "timestamp": "2017-01-01T13:20:00Z",
+ "value": 1814121
+ },
+ {
+ "timestamp": "2017-01-01T13:25:00Z",
+ "value": 1806789
+ },
+ {
+ "timestamp": "2017-01-01T13:30:00Z",
+ "value": 1806119
+ },
+ {
+ "timestamp": "2017-01-01T13:35:00Z",
+ "value": 1806329
+ },
+ {
+ "timestamp": "2017-01-01T13:40:00Z",
+ "value": 1806454
+ },
+ {
+ "timestamp": "2017-01-01T13:45:00Z",
+ "value": 1806852
+ },
+ {
+ "timestamp": "2017-01-01T13:50:00Z",
+ "value": 1807347
+ },
+ {
+ "timestamp": "2017-01-01T13:55:00Z",
+ "value": 1812144
+ },
+ {
+ "timestamp": "2017-01-01T14:00:00Z",
+ "value": 1807418
+ },
+ {
+ "timestamp": "2017-01-01T14:05:00Z",
+ "value": 1807418
+ },
+ {
+ "timestamp": "2017-01-01T14:10:00Z",
+ "value": 1807432
+ },
+ {
+ "timestamp": "2017-01-01T14:15:00Z",
+ "value": 1808540
+ },
+ {
+ "timestamp": "2017-01-01T14:20:00Z",
+ "value": 1808541
+ },
+ {
+ "timestamp": "2017-01-01T14:25:00Z",
+ "value": 1807831
+ },
+ {
+ "timestamp": "2017-01-01T14:30:00Z",
+ "value": 1807852
+ },
+ {
+ "timestamp": "2017-01-01T14:35:00Z",
+ "value": 1807811
+ },
+ {
+ "timestamp": "2017-01-01T14:40:00Z",
+ "value": 2214285
+ },
+ {
+ "timestamp": "2017-01-01T14:45:00Z",
+ "value": 2215019
+ },
+ {
+ "timestamp": "2017-01-01T14:50:00Z",
+ "value": 2215329
+ },
+ {
+ "timestamp": "2017-01-01T14:55:00Z",
+ "value": 2215097
+ },
+ {
+ "timestamp": "2017-01-01T15:00:00Z",
+ "value": 2215129
+ },
+ {
+ "timestamp": "2017-01-01T15:05:00Z",
+ "value": 2215120
+ },
+ {
+ "timestamp": "2017-01-01T15:10:00Z",
+ "value": 2217056
+ },
+ {
+ "timestamp": "2017-01-01T15:15:00Z",
+ "value": 2217056
+ },
+ {
+ "timestamp": "2017-01-01T15:20:00Z",
+ "value": 2222126
+ },
+ {
+ "timestamp": "2017-01-01T15:25:00Z",
+ "value": 2226472
+ },
+ {
+ "timestamp": "2017-01-01T15:30:00Z",
+ "value": 2226722
+ },
+ {
+ "timestamp": "2017-01-01T15:35:00Z",
+ "value": 2226729
+ },
+ {
+ "timestamp": "2017-01-01T15:40:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:45:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:50:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:55:00Z",
+ "value": 2226952
+ },
+ {
+ "timestamp": "2017-01-01T16:00:00Z",
+ "value": 2226962
+ },
+ {
+ "timestamp": "2017-01-01T16:05:00Z",
+ "value": 2649337
+ },
+ {
+ "timestamp": "2017-01-01T16:10:00Z",
+ "value": 2092796
+ },
+ {
+ "timestamp": "2017-01-01T16:15:00Z",
+ "value": 2092839
+ },
+ {
+ "timestamp": "2017-01-01T16:20:00Z",
+ "value": 2092940
+ },
+ {
+ "timestamp": "2017-01-01T16:25:00Z",
+ "value": 2092940
+ },
+ {
+ "timestamp": "2017-01-01T16:30:00Z",
+ "value": 2092965
+ },
+ {
+ "timestamp": "2017-01-01T16:35:00Z",
+ "value": 2092979
+ },
+ {
+ "timestamp": "2017-01-01T16:40:00Z",
+ "value": 2095588
+ },
+ {
+ "timestamp": "2017-01-01T16:45:00Z",
+ "value": 2099586
+ },
+ {
+ "timestamp": "2017-01-01T16:50:00Z",
+ "value": 2102981
+ },
+ {
+ "timestamp": "2017-01-01T16:55:00Z",
+ "value": 2108053
+ },
+ {
+ "timestamp": "2017-01-01T17:00:00Z",
+ "value": 2107907
+ },
+ {
+ "timestamp": "2017-01-01T17:05:00Z",
+ "value": 2108241
+ },
+ {
+ "timestamp": "2017-01-01T17:10:00Z",
+ "value": 2100321
+ },
+ {
+ "timestamp": "2017-01-01T17:15:00Z",
+ "value": 2100448
+ },
+ {
+ "timestamp": "2017-01-01T17:20:00Z",
+ "value": 2100483
+ },
+ {
+ "timestamp": "2017-01-01T17:25:00Z",
+ "value": 2103042
+ },
+ {
+ "timestamp": "2017-01-01T17:30:00Z",
+ "value": 2103037
+ },
+ {
+ "timestamp": "2017-01-01T17:35:00Z",
+ "value": 2103040
+ },
+ {
+ "timestamp": "2017-01-01T17:40:00Z",
+ "value": 2103054
+ },
+ {
+ "timestamp": "2017-01-01T17:45:00Z",
+ "value": 2103058
+ },
+ {
+ "timestamp": "2017-01-01T17:50:00Z",
+ "value": 1830757
+ },
+ {
+ "timestamp": "2017-01-01T17:55:00Z",
+ "value": 1830855
+ },
+ {
+ "timestamp": "2017-01-01T18:00:00Z",
+ "value": 1831495
+ },
+ {
+ "timestamp": "2017-01-01T18:05:00Z",
+ "value": 1831463
+ },
+ {
+ "timestamp": "2017-01-01T18:10:00Z",
+ "value": 1831963
+ },
+ {
+ "timestamp": "2017-01-01T18:15:00Z",
+ "value": 1832046
+ },
+ {
+ "timestamp": "2017-01-01T18:20:00Z",
+ "value": 1832070
+ },
+ {
+ "timestamp": "2017-01-01T18:25:00Z",
+ "value": 1835511
+ },
+ {
+ "timestamp": "2017-01-01T18:30:00Z",
+ "value": 1835265
+ },
+ {
+ "timestamp": "2017-01-01T18:35:00Z",
+ "value": 1835481
+ },
+ {
+ "timestamp": "2017-01-01T18:40:00Z",
+ "value": 1835578
+ },
+ {
+ "timestamp": "2017-01-01T18:45:00Z",
+ "value": 1835611
+ },
+ {
+ "timestamp": "2017-01-01T18:50:00Z",
+ "value": 1836314
+ },
+ {
+ "timestamp": "2017-01-01T18:55:00Z",
+ "value": 1836369
+ },
+ {
+ "timestamp": "2017-01-01T19:00:00Z",
+ "value": 1837280
+ },
+ {
+ "timestamp": "2017-01-01T19:05:00Z",
+ "value": 1842939
+ },
+ {
+ "timestamp": "2017-01-01T19:10:00Z",
+ "value": 1843126
+ },
+ {
+ "timestamp": "2017-01-01T19:15:00Z",
+ "value": 1845840
+ },
+ {
+ "timestamp": "2017-01-01T19:20:00Z",
+ "value": 1842444
+ },
+ {
+ "timestamp": "2017-01-01T19:25:00Z",
+ "value": 1839891
+ },
+ {
+ "timestamp": "2017-01-01T19:30:00Z",
+ "value": 1839875
+ },
+ {
+ "timestamp": "2017-01-01T19:35:00Z",
+ "value": 1839870
+ },
+ {
+ "timestamp": "2017-01-01T19:40:00Z",
+ "value": 1840090
+ },
+ {
+ "timestamp": "2017-01-01T19:45:00Z",
+ "value": 1840479
+ },
+ {
+ "timestamp": "2017-01-01T19:50:00Z",
+ "value": 1840479
+ },
+ {
+ "timestamp": "2017-01-01T19:55:00Z",
+ "value": 1840482
+ },
+ {
+ "timestamp": "2017-01-01T20:00:00Z",
+ "value": 1841522
+ },
+ {
+ "timestamp": "2017-01-01T20:05:00Z",
+ "value": 1841836
+ },
+ {
+ "timestamp": "2017-01-01T20:10:00Z",
+ "value": 1842377
+ },
+ {
+ "timestamp": "2017-01-01T20:15:00Z",
+ "value": 1842388
+ },
+ {
+ "timestamp": "2017-01-01T20:20:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:25:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:30:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:35:00Z",
+ "value": 1842496
+ },
+ {
+ "timestamp": "2017-01-01T20:40:00Z",
+ "value": 1842689
+ },
+ {
+ "timestamp": "2017-01-01T20:45:00Z",
+ "value": 1843117
+ },
+ {
+ "timestamp": "2017-01-01T20:50:00Z",
+ "value": 1843116
+ },
+ {
+ "timestamp": "2017-01-01T20:55:00Z",
+ "value": 1843227
+ },
+ {
+ "timestamp": "2017-01-01T21:00:00Z",
+ "value": 1843138
+ },
+ {
+ "timestamp": "2017-01-01T21:05:00Z",
+ "value": 1843141
+ },
+ {
+ "timestamp": "2017-01-01T21:10:00Z",
+ "value": 1843310
+ },
+ {
+ "timestamp": "2017-01-01T21:15:00Z",
+ "value": 1843310
+ },
+ {
+ "timestamp": "2017-01-01T21:20:00Z",
+ "value": 1843507
+ },
+ {
+ "timestamp": "2017-01-01T21:25:00Z",
+ "value": 1843953
+ },
+ {
+ "timestamp": "2017-01-01T21:30:00Z",
+ "value": 1844778
+ },
+ {
+ "timestamp": "2017-01-01T21:35:00Z",
+ "value": 1843918
+ },
+ {
+ "timestamp": "2017-01-01T21:40:00Z",
+ "value": 1882692
+ },
+ {
+ "timestamp": "2017-01-01T21:45:00Z",
+ "value": 1974888
+ },
+ {
+ "timestamp": "2017-01-01T21:50:00Z",
+ "value": 2157136
+ },
+ {
+ "timestamp": "2017-01-01T21:55:00Z",
+ "value": 2154987
+ },
+ {
+ "timestamp": "2017-01-01T22:00:00Z",
+ "value": 2155664
+ },
+ {
+ "timestamp": "2017-01-01T22:05:00Z",
+ "value": 2155660
+ },
+ {
+ "timestamp": "2017-01-01T22:10:00Z",
+ "value": 2155824
+ },
+ {
+ "timestamp": "2017-01-01T22:15:00Z",
+ "value": 2155824
+ },
+ {
+ "timestamp": "2017-01-01T22:20:00Z",
+ "value": 2156329
+ },
+ {
+ "timestamp": "2017-01-01T22:25:00Z",
+ "value": 2156479
+ },
+ {
+ "timestamp": "2017-01-01T22:30:00Z",
+ "value": 2165269
+ },
+ {
+ "timestamp": "2017-01-01T22:35:00Z",
+ "value": 2165433
+ },
+ {
+ "timestamp": "2017-01-01T22:40:00Z",
+ "value": 2165739
+ },
+ {
+ "timestamp": "2017-01-01T22:45:00Z",
+ "value": 2165931
+ },
+ {
+ "timestamp": "2017-01-01T22:50:00Z",
+ "value": 2165928
+ },
+ {
+ "timestamp": "2017-01-01T22:55:00Z",
+ "value": 2165989
+ },
+ {
+ "timestamp": "2017-01-01T23:00:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:05:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:10:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:15:00Z",
+ "value": 2485802
+ },
+ {
+ "timestamp": "2017-01-01T23:20:00Z",
+ "value": 2485802
+ },
+ {
+ "timestamp": "2017-01-01T23:25:00Z",
+ "value": 2486021
+ },
+ {
+ "timestamp": "2017-01-01T23:30:00Z",
+ "value": 2485293
+ },
+ {
+ "timestamp": "2017-01-01T23:35:00Z",
+ "value": 2485293
+ },
+ {
+ "timestamp": "2017-01-01T23:40:00Z",
+ "value": 2485324
+ },
+ {
+ "timestamp": "2017-01-01T23:45:00Z",
+ "value": 2489142
+ },
+ {
+ "timestamp": "2017-01-01T23:50:00Z",
+ "value": 2526312
+ },
+ {
+ "timestamp": "2017-01-01T23:55:00Z",
+ "value": 2526313
+ },
+ {
+ "timestamp": "2017-01-02T00:00:00Z",
+ "value": 2526314
+ },
+ {
+ "timestamp": "2017-01-02T00:05:00Z",
+ "value": 2526324
+ },
+ {
+ "timestamp": "2017-01-02T00:10:00Z",
+ "value": 2526325
+ },
+ {
+ "timestamp": "2017-01-02T00:15:00Z",
+ "value": 2526205
+ },
+ {
+ "timestamp": "2017-01-02T00:20:00Z",
+ "value": 2526226
+ },
+ {
+ "timestamp": "2017-01-02T00:25:00Z",
+ "value": 2526475
+ },
+ {
+ "timestamp": "2017-01-02T00:30:00Z",
+ "value": 2526471
+ },
+ {
+ "timestamp": "2017-01-02T00:35:00Z",
+ "value": 2526471
+ },
+ {
+ "timestamp": "2017-01-02T00:40:00Z",
+ "value": 2526534
+ },
+ {
+ "timestamp": "2017-01-02T00:45:00Z",
+ "value": 2526646
+ },
+ {
+ "timestamp": "2017-01-02T00:50:00Z",
+ "value": 2526646
+ },
+ {
+ "timestamp": "2017-01-02T00:55:00Z",
+ "value": 2526648
+ },
+ {
+ "timestamp": "2017-01-02T01:00:00Z",
+ "value": 2526658
+ },
+ {
+ "timestamp": "2017-01-02T01:05:00Z",
+ "value": 2526771
+ },
+ {
+ "timestamp": "2017-01-02T01:10:00Z",
+ "value": 2526773
+ },
+ {
+ "timestamp": "2017-01-02T01:15:00Z",
+ "value": 2526793
+ },
+ {
+ "timestamp": "2017-01-02T01:20:00Z",
+ "value": 2527010
+ },
+ {
+ "timestamp": "2017-01-02T01:25:00Z",
+ "value": 2527031
+ },
+ {
+ "timestamp": "2017-01-02T01:30:00Z",
+ "value": 3178096
+ },
+ {
+ "timestamp": "2017-01-02T01:35:00Z",
+ "value": 3196305
+ },
+ {
+ "timestamp": "2017-01-02T01:40:00Z",
+ "value": 3196202
+ },
+ {
+ "timestamp": "2017-01-02T01:45:00Z",
+ "value": 3196202
+ },
+ {
+ "timestamp": "2017-01-02T01:50:00Z",
+ "value": 3196205
+ },
+ {
+ "timestamp": "2017-01-02T01:55:00Z",
+ "value": 3229232
+ },
+ {
+ "timestamp": "2017-01-02T02:00:00Z",
+ "value": 3230463
+ },
+ {
+ "timestamp": "2017-01-02T02:05:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:10:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:15:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:20:00Z",
+ "value": 3230470
+ },
+ {
+ "timestamp": "2017-01-02T02:25:00Z",
+ "value": 3230467
+ },
+ {
+ "timestamp": "2017-01-02T02:30:00Z",
+ "value": 3230506
+ },
+ {
+ "timestamp": "2017-01-02T02:35:00Z",
+ "value": 3231536
+ },
+ {
+ "timestamp": "2017-01-02T02:40:00Z",
+ "value": 3230723
+ },
+ {
+ "timestamp": "2017-01-02T02:45:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T02:50:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T02:55:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T03:00:00Z",
+ "value": 3231880
+ },
+ {
+ "timestamp": "2017-01-02T03:05:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:10:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:15:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:20:00Z",
+ "value": 3232325
+ },
+ {
+ "timestamp": "2017-01-02T03:25:00Z",
+ "value": 3232323
+ },
+ {
+ "timestamp": "2017-01-02T03:30:00Z",
+ "value": 3232327
+ },
+ {
+ "timestamp": "2017-01-02T03:35:00Z",
+ "value": 3232340
+ },
+ {
+ "timestamp": "2017-01-02T03:40:00Z",
+ "value": 3232713
+ },
+ {
+ "timestamp": "2017-01-02T03:45:00Z",
+ "value": 3232729
+ },
+ {
+ "timestamp": "2017-01-02T03:50:00Z",
+ "value": 3232756
+ },
+ {
+ "timestamp": "2017-01-02T03:55:00Z",
+ "value": 3233500
+ },
+ {
+ "timestamp": "2017-01-02T04:00:00Z",
+ "value": 3233500
+ },
+ {
+ "timestamp": "2017-01-02T04:05:00Z",
+ "value": 3233500
+ }
+ ],
+ "granularity": "minutely",
+ "customInterval": 5,
+ "stableTrendWindow": 10,
+ "threshold": 0.99,
+ "period": 0
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "period": 0,
+ "confidenceScores": [
+ 0.11841763735063232,
+ 0.014857199927548581,
+ 0.0887032374955278,
+ 0.07430314751946857,
+ 0.059903057543409355,
+ 0.04132288981790399,
+ 0.022742722092391268,
+ 0.0005683208474757854,
+ 0.0216060803974397,
+ 0.053248991089971616,
+ 0.08489190178249614,
+ 0.04322511558132514,
+ 0.085336620199234,
+ 0.05876047041512903,
+ 0.02673755265447302,
+ 0.005032027060762012,
+ 0.031323171543775764,
+ 0.06299774949197792,
+ 0.08944723025337244,
+ 0.11523169864554421,
+ 0.14288453512268834,
+ 0.001592562559717675,
+ 0.32637788222282893,
+ 0,
+ 7.37310752217245e-15,
+ 2.211932256651735e-14,
+ 1,
+ 0.015697015891758138,
+ 0.01242773215043403,
+ 0.016188579169534697,
+ 0.019537751864826272,
+ 0.022506917491993753,
+ 0.01885762668253081,
+ 0.016253355310429398,
+ 0.017227483829906676,
+ 0.023236706002118527,
+ 0.03906277743439327,
+ 0.0354134866249377,
+ 0.037084294769315296,
+ 0.038248426822850935,
+ 0.050274427573818385,
+ 0.046815140298421175,
+ 0.043292518511668716,
+ 0.041353259508804745,
+ 0.038242312045861385,
+ 0.0346880230034313,
+ 0.032717096744889713,
+ 0.033026212895129546,
+ 0.031055286636580585,
+ 0.0275326648498355,
+ 0.023883374040372555,
+ 0.021564107969369743,
+ 0.018706498551854727,
+ 0.01543721481052325,
+ 0.015176320358565887,
+ 0.011527029549110314,
+ 0.008004407762357859,
+ 0.004355116952902286,
+ 0.0007058261434393403,
+ 0.0030701336887340946,
+ 0.006592755475479178,
+ 0.010147044517909256,
+ 0.013701333560339335,
+ 0.016780613767597707,
+ 0.020366570065705403,
+ 0.024015860875168354,
+ 0.02757014991759106,
+ 0.03033275756808058,
+ 0.03068865378707081,
+ 0.03395793752839492,
+ 0.03760722833785786,
+ 0.04122485189164318,
+ 0.030433874112103007,
+ 0.032816474694461056,
+ 0.03602242392443729,
+ 0.03960838022253762,
+ 0.04268766042980336,
+ 0.04633695123926631,
+ 0.0346592903007527,
+ 0.010219725324164698,
+ 0.007218892441326965,
+ 0.006909776291079754,
+ 0.000049463551460760754,
+ 0.0016047901503119819,
+ 0.01042121060065547,
+ 0.009020294944303705,
+ 0.005371004134840759,
+ 0.0021650549048718984,
+ 0.010517653997227793,
+ 0.0075017083013172925,
+ 0.00385241749186172,
+ 0.0008681390516288423,
+ 0.019005920148370017,
+ 0.015388296594592068,
+ 0.12583612799160215,
+ 1,
+ 0.005055878353042495,
+ 0.007613932468790628,
+ 0.011913685646822731,
+ 0.0166567804043268,
+ 0.015351429327405014,
+ 0.034309821169245976,
+ 0.0292817211106433,
+ 0.02425362105202589,
+ 0.019225520993423218,
+ 0.01419742093482055,
+ 0.00916932087621788,
+ 0.004141220817600464,
+ 0.0008868792410022057,
+ 0.0059149792996048755,
+ 0.010943079358207547,
+ 0.015971179416810213,
+ 0.02099927947542763,
+ 1,
+ 0.11533376425564247,
+ 0.1207645081246342,
+ 0.025174230145423273,
+ 0.09422487163021387,
+ 0.08417070843230404,
+ 0.07411654523437947,
+ 0.06406238203646963,
+ 0.0540082188385598,
+ 0.04395405564064997,
+ 0.03500824639144218,
+ 0.024954083193532338,
+ 0.014899919995622513,
+ 0.004845756797712681,
+ 0.005208406400211895,
+ 0.015262569598121728,
+ 0.025316732796031558,
+ 0.03537089599394139,
+ 0.045425059191865964,
+ 0.05145748091871777,
+ 1,
+ 0.011663506282381296,
+ 0.0043856580970499884,
+ 0.002892190088273945,
+ 0.01017003827359788,
+ 0.01744788645892181,
+ 0.024725734644253115,
+ 0.03200358282957705,
+ 0.03928143101490098,
+ 0.046559279200224915,
+ 0.05383712738555622,
+ 0.060069956133518614,
+ 0.0450857235774741,
+ 0.050621872700536176,
+ 0.029050850963546225,
+ 0.045689493056171517,
+ 0.0385699811492357,
+ 0.03179880905474635,
+ 0.03082274474926925,
+ 0.03586345902254038,
+ 0.028585610837209074,
+ 0.021402764418918006,
+ 0.04705886213832124,
+ 0.049724532235770696,
+ 0.05957866937203304,
+ 0.052649160999162954,
+ 0.045371312813839014,
+ 0.03809346462851508,
+ 0.030815616443183775,
+ 0.023537768257859845,
+ 0.01945831289597576,
+ 0.012180464710644455,
+ 0.00490261652532052,
+ 0.002153560870260057,
+ 0.0033196287098028916,
+ 0.0029244412792105113,
+ 0.0043217396504358,
+ 0.010934575466529664,
+ 0.018117421884820732,
+ 0.02267188608187652,
+ 0.027321352045957807,
+ 0.03459920023128174,
+ 0.03563859904812146,
+ 0.02990120514994264,
+ 0.03607069938654979,
+ 0.017223061637835352,
+ 7.37310752217245e-15,
+ 1.47462150443449e-14,
+ 1,
+ 0.046440552438977135,
+ 0.012233652454378385,
+ 0.017033155644526038,
+ 0.05136672465183527,
+ 0.06970832954194527,
+ 0.09929181019761117,
+ 0.11281999222473732,
+ 0.11039622919405537,
+ 0.08125609011787617,
+ 0.05661270134791935,
+ 0.028264243663680723,
+ 0.005974323576610399,
+ 0.038471191754617544,
+ 0,
+ 0,
+ 0,
+ 0.020288532128574968,
+ 0.005041879493223223,
+ 0.009223088216122232,
+ 0.009332792637570532,
+ 0.024579445272937026,
+ 0.03289096891488949,
+ 0.050695883419617865,
+ 1,
+ 0.000748013913075547,
+ 0.002186373999917361,
+ 0.0009330173541465358,
+ 0.00032033929162428933,
+ 0.0012886906362965138,
+ 0.002542047282052593,
+ 0.0007963481454318109,
+ 0.0004886757560166365,
+ 0.0016470306347398486,
+ 0.001063686451208582,
+ 0.0011980222832366648,
+ 0.00008700161821178273,
+ 0.0013086910082902394,
+ 0.0022770423529624643,
+ 0.000016333637160404937,
+ 0.0012053557529180517,
+ 0.0018570345408140537,
+ 0.0037297360397815314,
+ 0.003109724507563151,
+ 0.22869458705263188,
+ 0.2293374323429407,
+ 0.1140021204394844,
+ 0.0012381896969537412,
+ 0.11340677603264777,
+ 1,
+ 0.011793249472519423,
+ 0.008293225072094536,
+ 0.00469819890465153,
+ 0.0010715054815308995,
+ 0.0025551879416044767,
+ 0.006118546853369862,
+ 0.008605219072110835,
+ 0.0053601180131874334,
+ 0.008860142413597574,
+ 0.01248683583673295,
+ 0.01611352925985358,
+ 0.005878587160222206,
+ 0.013145429690188892,
+ 0.022280640305150038,
+ 0.01865394688201466,
+ 0.015027253458894031,
+ 0.012033905149325846,
+ 0.009040556839742916,
+ 0.005445530672299909,
+ 0.0018505045048569009,
+ 0.001744521662600853,
+ 0.005339547830043862,
+ 0.008760404091259945,
+ 0.012181260352490777,
+ 0.009902010591734853,
+ 0.007622760830993676
+ ],
+ "isChangePoint": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
index b09563822d24..585ec17fb952 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
@@ -74,6 +74,7 @@ java:
output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/anomalydetector
with-optional-parameters: true
with-single-async-method: true
+ regenerate-manager: true
```
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
index 806fa4654f8d..74cffe566389 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
@@ -25,6 +25,7 @@ These settings apply only when `--tag=release_3_0` is specified on the command l
``` yaml $(tag) == 'release_3_0'
input-file: stable/v3.0/Prediction.json
+add-credentials: true
```
# Validation
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json
index c0f42a6569d1..65fed4299257 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/stable/v3.0/Prediction.json
@@ -61,9 +61,6 @@
"required": false,
"type": "string",
"x-nullable": true
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -134,9 +131,6 @@
"description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.",
"required": true,
"type": "file"
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -211,9 +205,6 @@
"required": false,
"type": "string",
"x-nullable": true
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -284,9 +275,6 @@
"description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 0MB.",
"required": true,
"type": "file"
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -361,9 +349,6 @@
"required": false,
"type": "string",
"x-nullable": true
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -434,9 +419,6 @@
"description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 4MB.",
"required": true,
"type": "file"
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -511,9 +493,6 @@
"required": false,
"type": "string",
"x-nullable": true
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -584,9 +563,6 @@
"description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 0MB.",
"required": true,
"type": "file"
- },
- {
- "$ref": "#/parameters/ApiKey"
}
],
"responses": {
@@ -879,15 +855,6 @@
}
},
"parameters": {
- "ApiKey": {
- "name": "Prediction-Key",
- "in": "header",
- "description": "API key.",
- "required": true,
- "type": "string",
- "x-ms-client-name": "ApiKey",
- "x-ms-parameter-location": "client"
- },
"Endpoint": {
"name": "Endpoint",
"in": "path",
@@ -898,6 +865,18 @@
"x-ms-skip-url-encoding": true
}
},
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Prediction-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
"x-ms-parameterized-host": {
"hostTemplate": "{Endpoint}",
"useSchemePrefix": false,
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
index ab2308e427f7..8afbaa002def 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
@@ -63,4 +63,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_2' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.2/customvision/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
index 2b84dd8be8a5..c27680fff689 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
@@ -4,11 +4,11 @@
Configuration for generating Custom Vision Training SDK.
-The current release is `release_3_1`.
+The current release is `release_3_2`.
``` yaml
-tag: release_3_1
+tag: release_3_2
openapi-type: data-plane
```
# Releases
@@ -47,6 +47,15 @@ These settings apply only when `--tag=release_3_1` is specified on the command l
``` yaml $(tag) == 'release_3_1'
input-file: stable/v3.1/Training.json
```
+
+### Release 3.2
+These settings apply only when `--tag=release_3_2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_2'
+input-file: stable/v3.2/Training.json
+add-credentials: true
+```
+
# Validation
## Suppression
@@ -153,6 +162,7 @@ input-file:
- $(this-folder)/stable/v2.2/Training.json
- $(this-folder)/stable/v3.0/Training.json
- $(this-folder)/stable/v3.1/Training.json
+ - $(this-folder)/stable/v3.2/Training.json
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
index 7015276594b4..65b84d38d255 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.ruby.md
@@ -15,6 +15,7 @@ batch:
- tag: release_1_0
- tag: release_3_0
- tag: release_3_1
+ - tag: release_3_2
```
### Tag: release_1_0 and ruby
@@ -48,4 +49,16 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_3_2' && $(ruby)
+namespace: "Azure::CognitiveServices::CustomVision::Training::V3_2"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_customvisiontraining/lib
+title: "TrainingClient"
+```
+
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/Training.json
new file mode 100644
index 000000000000..ea417a760af8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/Training.json
@@ -0,0 +1,5097 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.2",
+ "title": "Custom Vision Training Client"
+ },
+ "host": "southcentralus.api.cognitive.microsoft.com",
+ "basePath": "/customvision/v3.2/training",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/domains": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get a list of the available domains.",
+ "operationId": "GetDomains",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomains request": {
+ "$ref": "./examples/GetDomains.json"
+ }
+ }
+ }
+ },
+ "/domains/{domainId}": {
+ "get": {
+ "tags": [
+ "DomainsApi"
+ ],
+ "summary": "Get information about a specific domain.",
+ "operationId": "GetDomain",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "domainId",
+ "in": "path",
+ "description": "The id of the domain to get information about.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetDomain request": {
+ "$ref": "./examples/GetDomain.json"
+ }
+ }
+ }
+ },
+ "/projects": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get your projects.",
+ "operationId": "GetProjects",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProjects request": {
+ "$ref": "./examples/GetProjects.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Create a project.",
+ "operationId": "CreateProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Name of the project.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "The description of the project.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "domainId",
+ "in": "query",
+ "description": "The id of the domain to use for this project. Defaults to General.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "classificationType",
+ "in": "query",
+ "description": "The type of classifier to create for this project.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ]
+ },
+ {
+ "name": "targetExportPlatforms",
+ "in": "query",
+ "description": "List of platforms the trained model is intending exporting to.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ]
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateProject request": {
+ "$ref": "./examples/CreateProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get a specific project.",
+ "operationId": "GetProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetProject request": {
+ "$ref": "./examples/GetProject.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Delete a specific project.",
+ "operationId": "DeleteProject",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteProject request": {
+ "$ref": "./examples/DeleteProject.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific project.",
+ "operationId": "UpdateProject",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project to update.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedProject",
+ "in": "body",
+ "description": "The updated project model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateProject request": {
+ "$ref": "./examples/UpdateProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/export": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Exports a project.",
+ "operationId": "ExportProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id of the project to export.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProjectExport"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ExportProject request": {
+ "$ref": "./examples/ExportProject.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided images to the set of training images.",
+ "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files",
+ "operationId": "CreateImagesFromData",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "The tags ids with which to tag each image. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.",
+ "required": true,
+ "type": "file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromData request": {
+ "$ref": "./examples/CreateImagesFromData.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Delete images from the set of training images.",
+ "operationId": "DeleteImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Ids of the images to be deleted. Limited to 256 images per batch.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "allImages",
+ "in": "query",
+ "description": "Flag to specify delete all images, specify this flag or a list of images. Using this flag will return a 202 response to indicate the images are being deleted.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "allIterations",
+ "in": "query",
+ "description": "Removes these images from all iterations, not just the current workspace. Using this flag will return a 202 response to indicate the images are being deleted.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImages request": {
+ "$ref": "./examples/DeleteImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/{imageId}/regionproposals": {
+ "post": {
+ "tags": [
+ "ImageRegionProposalApi"
+ ],
+ "summary": "Get region proposals for an image. Returns empty array if no proposals are found.",
+ "description": "This API will get region proposals for an image along with confidences for the region. It returns an empty array if no proposals are found.",
+ "operationId": "GetImageRegionProposals",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageId",
+ "in": "path",
+ "description": "The image id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionProposal"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImageRegionProposals request": {
+ "$ref": "./examples/GetImageRegionProposals.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/files": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided batch of images to the set of training images.",
+ "description": "This API accepts a batch of files, and optionally tags, to create images. There is a limit of 64 images and 20 tags.",
+ "operationId": "CreateImagesFromFiles",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageFileCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromFiles request": {
+ "$ref": "./examples/CreateImagesFromFiles.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/id": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get images by id for a given project iteration.",
+ "description": "This API will return a set of Images for the specified tags and optionally iteration. If no iteration is specified the\r\ncurrent workspace is used.",
+ "operationId": "GetImagesByIds",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "The list of image ids to retrieve. Limited to 256.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 256,
+ "minItems": 0
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagesByIds request": {
+ "$ref": "./examples/GetImagesByIds.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/predictions": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the specified predicted images to the set of training images.",
+ "description": "This API creates a batch of images from predicted images specified. There is a limit of 64 images and 20 tags.",
+ "operationId": "CreateImagesFromPredictions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Image and tag ids. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageIdCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromPredictions request": {
+ "$ref": "./examples/CreateImagesFromPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/regions": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Create a set of image regions.",
+ "description": "This API accepts a batch of image regions, and optionally tags, to update existing images with region information.\r\nThere is a limit of 64 entries in the batch.",
+ "operationId": "CreateImageRegions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Batch of image regions which include a tag and bounding box. Limited to 64.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageRegionCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImageRegions request": {
+ "$ref": "./examples/CreateImageRegions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Delete a set of image regions.",
+ "operationId": "DeleteImageRegions",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "regionIds",
+ "in": "query",
+ "description": "Regions to delete. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageRegions request": {
+ "$ref": "./examples/DeleteImageRegions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/suggested": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get untagged images whose suggested tags match given tags. Returns empty array if no images are found.",
+ "description": "This API will fetch untagged images filtered by suggested tags Ids. It returns an empty array if no images are found.",
+ "operationId": "QuerySuggestedImages",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for the suggested tags and regions.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Contains properties we need to query suggested images.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQueryToken"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQuery"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuerySuggestedImages request": {
+ "$ref": "./examples/QuerySuggestedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/suggested/count": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get count of images whose suggested tags match given tags and their probabilities are greater than or equal to the given threshold. Returns count as 0 if none found.",
+ "description": "This API takes in tagIds to get count of untagged images per suggested tags for a given threshold.",
+ "operationId": "QuerySuggestedImageCount",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for the suggested tags and regions.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Model that contains tagIds, threshold and projectType to query by.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagFilter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuerySuggestedImageCount request": {
+ "$ref": "./examples/QuerySuggestedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tagged": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get tagged images for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetTaggedImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTaggedImages request": {
+ "$ref": "./examples/GetTaggedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tagged/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Gets the number of images tagged with the provided {tagIds}.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetTaggedImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTaggedImageCount request": {
+ "$ref": "./examples/GetTaggedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/tags": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Associate a set of images with a set of tags.",
+ "operationId": "CreateImageTags",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Batch of image tags. Limited to 128 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageTagCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageTagCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImageTags request": {
+ "$ref": "./examples/CreateImageTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Remove a set of tags from a set of images.",
+ "operationId": "DeleteImageTags",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Image ids. Limited to 64 images.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "Tags to be deleted from the specified images. Limited to 20 tags.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteImageTags request": {
+ "$ref": "./examples/DeleteImageTags.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/untagged": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Get untagged images for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.",
+ "operationId": "GetUntaggedImages",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImages request": {
+ "$ref": "./examples/GetUntaggedImages.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/untagged/count": {
+ "get": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Gets the number of untagged images.",
+ "description": "This API returns the images which have no tags for a given project and optionally an iteration. If no iteration is specified the\r\ncurrent workspace is used.",
+ "operationId": "GetUntaggedImageCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetUntaggedImageCount request": {
+ "$ref": "./examples/GetUntaggedImageCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/images/urls": {
+ "post": {
+ "tags": [
+ "ImageApi"
+ ],
+ "summary": "Add the provided images urls to the set of training images.",
+ "description": "This API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 images and 20 tags.",
+ "operationId": "CreateImagesFromUrls",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "Image urls and tag ids. Limited to 64 images and 20 tags per batch.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrlCreateBatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageCreateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateImagesFromUrls request": {
+ "$ref": "./examples/CreateImagesFromUrls.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get iterations for the project.",
+ "operationId": "GetIterations",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Iteration"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterations request": {
+ "$ref": "./examples/GetIterations.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get a specific iteration.",
+ "operationId": "GetIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project the iteration belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The id of the iteration to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIteration request": {
+ "$ref": "./examples/GetIteration.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Delete a specific iteration of a project.",
+ "operationId": "DeleteIteration",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteIteration request": {
+ "$ref": "./examples/DeleteIteration.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Update a specific iteration.",
+ "operationId": "UpdateIteration",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "Project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "Iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedIteration",
+ "in": "body",
+ "description": "The updated iteration model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateIteration request": {
+ "$ref": "./examples/UpdateIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/export": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get the list of exports for a specific iteration.",
+ "operationId": "GetExports",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetExports request": {
+ "$ref": "./examples/GetExports.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Export a trained iteration.",
+ "operationId": "ExportIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "platform",
+ "in": "query",
+ "description": "The target platform.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ]
+ },
+ {
+ "name": "flavor",
+ "in": "query",
+ "description": "The flavor of the target platform.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Linux",
+ "Windows",
+ "ONNX10",
+ "ONNX12",
+ "ARM",
+ "TensorFlowNormal",
+ "TensorFlowLite"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ExportIteration request": {
+ "$ref": "./examples/ExportIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get detailed performance information about an iteration.",
+ "operationId": "GetIterationPerformance",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The id of the project the iteration belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The id of the iteration to get.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "description": "The threshold used to determine true predictions.",
+ "required": false,
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "name": "overlapThreshold",
+ "in": "query",
+ "description": "If applicable, the bounding box overlap threshold used to determine true predictions.",
+ "required": false,
+ "type": "number",
+ "format": "float"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IterationPerformance"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetIterationPerformance request": {
+ "$ref": "./examples/GetIterationPerformance.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance/images": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Get image with its prediction for a given project iteration.",
+ "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImagePerformances",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 20,
+ "minItems": 0
+ },
+ {
+ "name": "orderBy",
+ "in": "query",
+ "description": "The ordering. Defaults to newest.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Newest",
+ "Oldest"
+ ]
+ },
+ {
+ "name": "take",
+ "in": "query",
+ "description": "Maximum number of images to return. Defaults to 50, limited to 256.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 256,
+ "minimum": 0
+ },
+ {
+ "name": "skip",
+ "in": "query",
+ "description": "Number of images to skip before beginning the image batch. Defaults to 0.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImagePerformance"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagePerformances request": {
+ "$ref": "./examples/GetImagePerformances.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/performance/images/count": {
+ "get": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Gets the number of images tagged with the provided {tagIds} that have prediction results from\r\ntraining for the provided iteration {iterationId}.",
+ "description": "The filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned",
+ "operationId": "GetImagePerformanceCount",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagIds",
+ "in": "query",
+ "description": "A list of tags ids to filter the images to count. Defaults to all tags when null.",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetImagePerformanceCount request": {
+ "$ref": "./examples/GetImagePerformanceCount.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/iterations/{iterationId}/publish": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Publish a specific iteration.",
+ "operationId": "PublishIteration",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "publishName",
+ "in": "query",
+ "description": "The name to give the published iteration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "predictionId",
+ "in": "query",
+ "description": "The id of the prediction resource to publish to.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful PublishIteration request": {
+ "$ref": "./examples/PublishIteration.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Unpublish a specific iteration.",
+ "operationId": "UnpublishIteration",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "path",
+ "description": "The iteration id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UnpublishIteration request": {
+ "$ref": "./examples/UnpublishIteration.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions": {
+ "delete": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Delete a set of predicted images and their associated prediction results.",
+ "operationId": "DeletePrediction",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "ids",
+ "in": "query",
+ "description": "The prediction ids. Limited to 64.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeletePrediction request": {
+ "$ref": "./examples/DeletePrediction.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/predictions/query": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Get images that were sent to your prediction endpoint.",
+ "operationId": "QueryPredictions",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "query",
+ "in": "body",
+ "description": "Parameters used to query the predictions. Limited to combining 2 tags.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PredictionQueryToken"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PredictionQueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QueryPredictions request": {
+ "$ref": "./examples/QueryPredictions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/quicktest/image": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Quick test an image.",
+ "operationId": "QuickTestImage",
+ "consumes": [
+ "multipart/form-data",
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "store",
+ "in": "query",
+ "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ },
+ {
+ "name": "imageData",
+ "in": "formData",
+ "description": "Binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB.",
+ "required": true,
+ "type": "file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePrediction"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImage request": {
+ "$ref": "./examples/QuickTestImage.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/quicktest/url": {
+ "post": {
+ "tags": [
+ "PredictionsApi"
+ ],
+ "summary": "Quick test an image url.",
+ "operationId": "QuickTestImageUrl",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project to evaluate against.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageUrl",
+ "in": "body",
+ "description": "An ImageUrl that contains the url of the image to be evaluated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ }
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "store",
+ "in": "query",
+ "description": "Optional. Specifies whether or not to store the result of this prediction. The default is true, to store.",
+ "required": false,
+ "type": "boolean",
+ "default": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImagePrediction"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful QuickTestImageUrl request": {
+ "$ref": "./examples/QuickTestImageUrl.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get the tags for a given project and iteration.",
+ "operationId": "GetTags",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration id. Defaults to workspace.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTags request": {
+ "$ref": "./examples/GetTags.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Create a tag for the project.",
+ "operationId": "CreateTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "The tag name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "description",
+ "in": "query",
+ "description": "Optional description for the tag.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "description": "Optional type for the tag.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Regular",
+ "Negative"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful CreateTag request": {
+ "$ref": "./examples/CreateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags/{tagId}": {
+ "get": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Get information about a specific tag.",
+ "operationId": "GetTag",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project this tag belongs to.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "The tag id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "The iteration to retrieve this tag from. Optional, defaults to current training set.",
+ "required": false,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful GetTag request": {
+ "$ref": "./examples/GetTag.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Delete a tag from the project.",
+ "operationId": "DeleteTag",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "Id of the tag to be deleted.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful DeleteTag request": {
+ "$ref": "./examples/DeleteTag.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TagsApi"
+ ],
+ "summary": "Update a tag.",
+ "operationId": "UpdateTag",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "tagId",
+ "in": "path",
+ "description": "The id of the target tag.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "updatedTag",
+ "in": "body",
+ "description": "The updated tag model.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful UpdateTag request": {
+ "$ref": "./examples/UpdateTag.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tagsandregions/suggestions": {
+ "post": {
+ "tags": [
+ "SuggestTagsAndRegionsApi"
+ ],
+ "summary": "Suggest tags and regions for an array/batch of untagged images. Returns empty array if no tags are found.",
+ "description": "This API will get suggested tags and regions for an array/batch of untagged images along with confidences for the tags. It returns an empty array if no tags are found.\r\nThere is a limit of 64 images in the batch.",
+ "operationId": "SuggestTagsAndRegions",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "iterationId",
+ "in": "query",
+ "description": "IterationId to use for tag and region suggestion.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "imageIds",
+ "in": "query",
+ "description": "Array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds.",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "collectionFormat": "csv",
+ "maxItems": 64,
+ "minItems": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SuggestedTagAndRegion"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful SuggestTagsAndRegions request": {
+ "$ref": "./examples/SuggestTagsAndRegions.json"
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/train": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Queues project for training.",
+ "operationId": "TrainProject",
+ "consumes": [
+ "application/json",
+ "application/xml",
+ "text/xml",
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "projectId",
+ "in": "path",
+ "description": "The project id.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ {
+ "name": "trainingType",
+ "in": "query",
+ "description": "The type of training to use to train the project (default: Regular).",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "Regular",
+ "Advanced"
+ ]
+ },
+ {
+ "name": "reservedBudgetInHours",
+ "in": "query",
+ "description": "The number of hours reserved as budget for training (if applicable).",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "name": "forceTrain",
+ "in": "query",
+ "description": "Whether to force train even if dataset and configuration does not change (default: false).",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ {
+ "name": "notificationEmailAddress",
+ "in": "query",
+ "description": "The email address to send notification to when training finishes (default: null).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "trainingParameters",
+ "in": "body",
+ "description": "Additional training parameters passed in to control how the project is trained.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/TrainingParameters"
+ },
+ "x-nullable": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Iteration"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful TrainProject request": {
+ "$ref": "./examples/TrainProject.json"
+ }
+ }
+ }
+ },
+ "/projects/import": {
+ "post": {
+ "tags": [
+ "ProjectApi"
+ ],
+ "summary": "Imports a project.",
+ "operationId": "ImportProject",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "application/xml",
+ "text/xml"
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Token generated from the export project call.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response",
+ "schema": {
+ "$ref": "#/definitions/CustomVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ImportProject request": {
+ "$ref": "./examples/ImportProject.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BoundingBox": {
+ "description": "Bounding box that defines a region of an image.",
+ "required": [
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "CustomVisionError": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "NoError",
+ "BadRequest",
+ "BadRequestExceededBatchSize",
+ "BadRequestNotSupported",
+ "BadRequestInvalidIds",
+ "BadRequestProjectName",
+ "BadRequestProjectNameNotUnique",
+ "BadRequestProjectDescription",
+ "BadRequestProjectUnknownDomain",
+ "BadRequestProjectUnknownClassification",
+ "BadRequestProjectUnsupportedDomainTypeChange",
+ "BadRequestProjectUnsupportedExportPlatform",
+ "BadRequestProjectImagePreprocessingSettings",
+ "BadRequestProjectDuplicated",
+ "BadRequestIterationName",
+ "BadRequestIterationNameNotUnique",
+ "BadRequestIterationDescription",
+ "BadRequestIterationIsNotTrained",
+ "BadRequestIterationValidationFailed",
+ "BadRequestWorkspaceCannotBeModified",
+ "BadRequestWorkspaceNotDeletable",
+ "BadRequestTagName",
+ "BadRequestTagNameNotUnique",
+ "BadRequestTagDescription",
+ "BadRequestTagType",
+ "BadRequestMultipleNegativeTag",
+ "BadRequestImageTags",
+ "BadRequestImageRegions",
+ "BadRequestNegativeAndRegularTagOnSameImage",
+ "BadRequestRequiredParamIsNull",
+ "BadRequestIterationIsPublished",
+ "BadRequestInvalidPublishName",
+ "BadRequestInvalidPublishTarget",
+ "BadRequestUnpublishFailed",
+ "BadRequestIterationNotPublished",
+ "BadRequestSubscriptionApi",
+ "BadRequestExceedProjectLimit",
+ "BadRequestExceedIterationPerProjectLimit",
+ "BadRequestExceedTagPerProjectLimit",
+ "BadRequestExceedTagPerImageLimit",
+ "BadRequestExceededQuota",
+ "BadRequestCannotMigrateProjectWithName",
+ "BadRequestNotLimitedTrial",
+ "BadRequestImageBatch",
+ "BadRequestImageStream",
+ "BadRequestImageUrl",
+ "BadRequestImageFormat",
+ "BadRequestImageSizeBytes",
+ "BadRequestImageExceededCount",
+ "BadRequestTrainingNotNeeded",
+ "BadRequestTrainingNotNeededButTrainingPipelineUpdated",
+ "BadRequestTrainingValidationFailed",
+ "BadRequestClassificationTrainingValidationFailed",
+ "BadRequestMultiClassClassificationTrainingValidationFailed",
+ "BadRequestMultiLabelClassificationTrainingValidationFailed",
+ "BadRequestDetectionTrainingValidationFailed",
+ "BadRequestTrainingAlreadyInProgress",
+ "BadRequestDetectionTrainingNotAllowNegativeTag",
+ "BadRequestInvalidEmailAddress",
+ "BadRequestDomainNotSupportedForAdvancedTraining",
+ "BadRequestExportPlatformNotSupportedForAdvancedTraining",
+ "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining",
+ "BadRequestExportValidationFailed",
+ "BadRequestExportAlreadyInProgress",
+ "BadRequestPredictionIdsMissing",
+ "BadRequestPredictionIdsExceededCount",
+ "BadRequestPredictionTagsExceededCount",
+ "BadRequestPredictionResultsExceededCount",
+ "BadRequestPredictionInvalidApplicationName",
+ "BadRequestPredictionInvalidQueryParameters",
+ "BadRequestInvalidImportToken",
+ "BadRequestExportWhileTraining",
+ "BadRequestInvalid",
+ "UnsupportedMediaType",
+ "Forbidden",
+ "ForbiddenUser",
+ "ForbiddenUserResource",
+ "ForbiddenUserSignupDisabled",
+ "ForbiddenUserSignupAllowanceExceeded",
+ "ForbiddenUserDoesNotExist",
+ "ForbiddenUserDisabled",
+ "ForbiddenUserInsufficientCapability",
+ "ForbiddenDRModeEnabled",
+ "ForbiddenInvalid",
+ "NotFound",
+ "NotFoundProject",
+ "NotFoundProjectDefaultIteration",
+ "NotFoundIteration",
+ "NotFoundIterationPerformance",
+ "NotFoundTag",
+ "NotFoundImage",
+ "NotFoundDomain",
+ "NotFoundApimSubscription",
+ "NotFoundInvalid",
+ "Conflict",
+ "ConflictInvalid",
+ "ErrorUnknown",
+ "ErrorIterationCopyFailed",
+ "ErrorPreparePerformanceMigrationFailed",
+ "ErrorProjectInvalidWorkspace",
+ "ErrorProjectInvalidPipelineConfiguration",
+ "ErrorProjectInvalidDomain",
+ "ErrorProjectTrainingRequestFailed",
+ "ErrorProjectImportRequestFailed",
+ "ErrorProjectExportRequestFailed",
+ "ErrorFeaturizationServiceUnavailable",
+ "ErrorFeaturizationQueueTimeout",
+ "ErrorFeaturizationInvalidFeaturizer",
+ "ErrorFeaturizationAugmentationUnavailable",
+ "ErrorFeaturizationUnrecognizedJob",
+ "ErrorFeaturizationAugmentationError",
+ "ErrorExporterInvalidPlatform",
+ "ErrorExporterInvalidFeaturizer",
+ "ErrorExporterInvalidClassifier",
+ "ErrorPredictionServiceUnavailable",
+ "ErrorPredictionModelNotFound",
+ "ErrorPredictionModelNotCached",
+ "ErrorPrediction",
+ "ErrorPredictionStorage",
+ "ErrorRegionProposal",
+ "ErrorInvalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ }
+ }
+ },
+ "Domain": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "type": {
+ "enum": [
+ "Classification",
+ "ObjectDetection"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "DomainType",
+ "modelAsString": true
+ }
+ },
+ "exportable": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "enabled": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "Export": {
+ "type": "object",
+ "properties": {
+ "platform": {
+ "description": "Platform of the export.",
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExportPlatform",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the export.",
+ "enum": [
+ "Exporting",
+ "Failed",
+ "Done"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExportStatus",
+ "modelAsString": true
+ }
+ },
+ "downloadUri": {
+ "description": "URI used to download the model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "flavor": {
+ "description": "Flavor of the export. These are specializations of the export platform.\r\nDocker platform has valid flavors: Linux, Windows, ARM.\r\nTensorflow platform has valid flavors: TensorFlowNormal, TensorFlowLite.\r\nONNX platform has valid flavors: ONNX10, ONNX12.",
+ "enum": [
+ "Linux",
+ "Windows",
+ "ONNX10",
+ "ONNX12",
+ "ARM",
+ "TensorFlowNormal",
+ "TensorFlowLite"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "ExportFlavor",
+ "modelAsString": true
+ }
+ },
+ "newerVersionAvailable": {
+ "description": "Indicates an updated version of the export package is available and should be re-exported for the latest changes.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "Image": {
+ "description": "Image model to be sent as JSON.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date the image was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "description": "Width of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "resizedImageUri": {
+ "description": "The URI to the (resized) image used for training.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original uploaded image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Tags associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "regions": {
+ "description": "Regions associated with this image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegion"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageCreateResult": {
+ "type": "object",
+ "properties": {
+ "sourceUrl": {
+ "description": "Source URL of the image.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the image creation.",
+ "enum": [
+ "OK",
+ "OKDuplicate",
+ "ErrorSource",
+ "ErrorImageFormat",
+ "ErrorImageSize",
+ "ErrorStorage",
+ "ErrorLimitExceed",
+ "ErrorTagLimitExceed",
+ "ErrorRegionLimitExceed",
+ "ErrorUnknown",
+ "ErrorNegativeAndRegularTagOnSameImage"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ImageCreateStatus",
+ "modelAsString": true
+ }
+ },
+ "image": {
+ "$ref": "#/definitions/Image",
+ "description": "The image.",
+ "readOnly": true
+ }
+ }
+ },
+ "ImageCreateSummary": {
+ "type": "object",
+ "properties": {
+ "isBatchSuccessful": {
+ "description": "True if all of the images in the batch were created successfully, otherwise false.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "images": {
+ "description": "List of the image creation results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageCreateResult",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageFileCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageFileCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageFileCreateEntry": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "contents": {
+ "format": "byte",
+ "type": "string",
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageIdCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageIdCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageIdCreateEntry": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImagePerformance": {
+ "description": "Image performance model.",
+ "type": "object",
+ "properties": {
+ "predictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageUri": {
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTag"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegion"
+ },
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImagePrediction": {
+ "description": "Result of an image prediction request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageProcessingSettings": {
+ "description": "Represents image preprocessing settings used by image augmentation.",
+ "type": "object",
+ "properties": {
+ "augmentationMethods": {
+ "description": "Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used.\r\nAugmentation will be uniformly distributed among enabled transforms.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "boolean"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageRegion": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "regionId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateBatch": {
+ "description": "Batch of image region information to create.",
+ "type": "object",
+ "properties": {
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageRegionCreateEntry": {
+ "description": "Entry associating a region to an image.",
+ "required": [
+ "imageId",
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateResult": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "regionId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageRegionCreateSummary": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateResult"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageRegionCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageRegionProposal": {
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "proposals": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionProposal",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ImageTag": {
+ "type": "object",
+ "properties": {
+ "tagId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageTagCreateBatch": {
+ "description": "Batch of image tags.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Image Tag entries to include in this batch.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageTagCreateEntry": {
+ "description": "Entry associating a tag to an image.",
+ "type": "object",
+ "properties": {
+ "imageId": {
+ "format": "uuid",
+ "description": "Id of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageTagCreateSummary": {
+ "type": "object",
+ "properties": {
+ "created": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "duplicated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "exceeded": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageTagCreateEntry"
+ },
+ "readOnly": false,
+ "x-nullable": true
+ }
+ }
+ },
+ "ImageUrl": {
+ "description": "Image url.",
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Url of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ImageUrlCreateBatch": {
+ "type": "object",
+ "properties": {
+ "images": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageUrlCreateEntry",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "ImageUrlCreateEntry": {
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Url of the image.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "tagIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Region",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ },
+ "Iteration": {
+ "description": "Iteration model to be sent over JSON.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the id of the iteration.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the iteration.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Gets the current iteration status.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was completed.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "trainedAt": {
+ "format": "date-time",
+ "description": "Gets the time this iteration was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "projectId": {
+ "format": "uuid",
+ "description": "Gets the project id of the iteration.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportable": {
+ "description": "Whether the iteration can be exported to another format for download.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "exportableTo": {
+ "description": "A set of platforms this iteration can export to.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "domainId": {
+ "format": "uuid",
+ "description": "Get or sets a guid of the domain the iteration has been trained on.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "classificationType": {
+ "description": "Gets the classification type of the project.",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "Classifier",
+ "modelAsString": true
+ }
+ },
+ "trainingType": {
+ "description": "Gets the training type of the iteration.",
+ "enum": [
+ "Regular",
+ "Advanced"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TrainingType",
+ "modelAsString": true
+ }
+ },
+ "reservedBudgetInHours": {
+ "format": "int32",
+ "description": "Gets the reserved advanced training budget for the iteration.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "trainingTimeInMinutes": {
+ "format": "int32",
+ "description": "Gets the training time for the iteration.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "publishName": {
+ "description": "Name of the published model.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "originalPublishResourceId": {
+ "description": "Resource Provider Id this iteration was originally published to.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "IterationPerformance": {
+ "description": "Represents the detailed performance data for a trained iteration.",
+ "type": "object",
+ "properties": {
+ "perTagPerformance": {
+ "description": "Gets the per-tag performance details for this iteration.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagPerformance",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "precision": {
+ "format": "float",
+ "description": "Gets the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precisionStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recall": {
+ "format": "float",
+ "description": "Gets the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recallStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "averagePrecision": {
+ "format": "float",
+ "description": "Gets the average precision when applicable.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "Prediction": {
+ "description": "Prediction result.",
+ "type": "object",
+ "properties": {
+ "probability": {
+ "format": "float",
+ "description": "Probability of the tag.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the predicted tag.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagName": {
+ "description": "Name of the predicted tag.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "boundingBox": {
+ "$ref": "#/definitions/BoundingBox",
+ "description": "Bounding box of the prediction.",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "PredictionQueryResult": {
+ "description": "Query result of the prediction images that were sent to your prediction endpoint.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "$ref": "#/definitions/PredictionQueryToken",
+ "description": "Prediction Query Token.",
+ "readOnly": false
+ },
+ "results": {
+ "description": "Result of an prediction request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredImagePrediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PredictionQueryTag": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "minThreshold": {
+ "format": "float",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxThreshold": {
+ "format": "float",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "PredictionQueryToken": {
+ "type": "object",
+ "properties": {
+ "session": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "continuation": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxCount": {
+ "format": "int32",
+ "type": "integer",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "orderBy": {
+ "enum": [
+ "Newest",
+ "Oldest",
+ "Suggested"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "OrderBy",
+ "modelAsString": true
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PredictionQueryTag",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "iterationId": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "application": {
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "Project": {
+ "description": "Represents a project.",
+ "required": [
+ "name",
+ "description",
+ "settings"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the project id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "description": {
+ "description": "Gets or sets the description of the project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings",
+ "description": "Gets or sets the project settings.",
+ "readOnly": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Gets the date this project was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "Gets the date this project was last modified.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "thumbnailUri": {
+ "description": "Gets the thumbnail url representing the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "drModeEnabled": {
+ "description": "Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "status": {
+ "description": "Gets the status of the project.",
+ "enum": [
+ "Succeeded",
+ "Importing",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ProjectStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProjectExport": {
+ "description": "Represents information about a project export.",
+ "type": "object",
+ "properties": {
+ "iterationCount": {
+ "format": "int32",
+ "description": "Count of iterations that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageCount": {
+ "format": "int32",
+ "description": "Count of images that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "tagCount": {
+ "format": "int32",
+ "description": "Count of tags that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "regionCount": {
+ "format": "int32",
+ "description": "Count of regions that will be exported.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "estimatedImportTimeInMS": {
+ "format": "int32",
+ "description": "Estimated time this project will take to import, can change based on network connectivity and load between\r\nsource and destination regions.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "token": {
+ "description": "Opaque token that should be passed to ImportProject to perform the import. This token grants access to import this\r\nproject to all that have the token.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "ProjectSettings": {
+ "description": "Represents settings associated with a project.",
+ "type": "object",
+ "properties": {
+ "domainId": {
+ "format": "uuid",
+ "description": "Gets or sets the id of the Domain to use with this project.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "classificationType": {
+ "description": "Gets or sets the classification type of the project.",
+ "enum": [
+ "Multiclass",
+ "Multilabel"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "Classifier",
+ "modelAsString": true
+ }
+ },
+ "targetExportPlatforms": {
+ "description": "A list of ExportPlatform that the trained model should be able to support.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "CoreML",
+ "TensorFlow",
+ "DockerFile",
+ "ONNX",
+ "VAIDK"
+ ],
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "useNegativeSet": {
+ "description": "Indicates if negative set is being used.",
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "detectionParameters": {
+ "description": "Detection parameters in use, if any.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "imageProcessingSettings": {
+ "$ref": "#/definitions/ImageProcessingSettings",
+ "description": "Gets or sets image preprocessing settings.",
+ "readOnly": false
+ }
+ }
+ },
+ "Region": {
+ "required": [
+ "tagId",
+ "left",
+ "top",
+ "width",
+ "height"
+ ],
+ "type": "object",
+ "properties": {
+ "tagId": {
+ "format": "uuid",
+ "description": "Id of the tag associated with this region.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "left": {
+ "format": "float",
+ "description": "Coordinate of the left boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "top": {
+ "format": "float",
+ "description": "Coordinate of the top boundary.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "width": {
+ "format": "float",
+ "description": "Width.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "float",
+ "description": "Height.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "RegionProposal": {
+ "type": "object",
+ "properties": {
+ "confidence": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "boundingBox": {
+ "$ref": "#/definitions/BoundingBox",
+ "readOnly": true
+ }
+ }
+ },
+ "StoredImagePrediction": {
+ "description": "Result of an image prediction request.",
+ "type": "object",
+ "properties": {
+ "resizedImageUri": {
+ "description": "The URI to the (resized) prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domain": {
+ "format": "uuid",
+ "description": "Domain used for the prediction.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StoredSuggestedTagAndRegion": {
+ "description": "Result of a suggested tags and regions request of the untagged image.",
+ "type": "object",
+ "properties": {
+ "width": {
+ "format": "int32",
+ "description": "Width of the resized image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "height": {
+ "format": "int32",
+ "description": "Height of the resized image.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "resizedImageUri": {
+ "description": "The URI to the (resized) prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "thumbnailUri": {
+ "description": "The URI to the thumbnail of the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalImageUri": {
+ "description": "The URI to the original prediction image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "domain": {
+ "format": "uuid",
+ "description": "Domain used for the prediction.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "predictionUncertainty": {
+ "format": "double",
+ "description": "Uncertainty (entropy) of suggested tags or regions per image.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "SuggestedTagAndRegion": {
+ "description": "Result of a suggested tags and regions request.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Prediction Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "project": {
+ "format": "uuid",
+ "description": "Project Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "iteration": {
+ "format": "uuid",
+ "description": "Iteration Id.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "created": {
+ "format": "date-time",
+ "description": "Date this prediction was created.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "predictions": {
+ "description": "List of predictions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Prediction",
+ "x-nullable": false
+ },
+ "readOnly": true
+ },
+ "predictionUncertainty": {
+ "format": "double",
+ "description": "Uncertainty (entropy) of suggested tags or regions per image.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "SuggestedTagAndRegionQuery": {
+ "description": "The array of result images and token containing session and continuation Ids for the next query.",
+ "type": "object",
+ "properties": {
+ "token": {
+ "$ref": "#/definitions/SuggestedTagAndRegionQueryToken",
+ "description": "Contains properties we need to fetch suggested tags for.",
+ "readOnly": false
+ },
+ "results": {
+ "description": "Result of a suggested tags and regions request of the untagged image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StoredSuggestedTagAndRegion",
+ "x-nullable": false
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SuggestedTagAndRegionQueryToken": {
+ "description": "Contains properties we need to fetch suggested tags for. For the first call, Session and continuation set to null.\r\nThen on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery result to fetch additional results.",
+ "type": "object",
+ "properties": {
+ "tagIds": {
+ "description": "Existing TagIds in project to filter suggested tags on.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "threshold": {
+ "format": "double",
+ "description": "Confidence threshold to filter suggested tags on.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "session": {
+ "description": "SessionId for database query. Initially set to null but later used to paginate.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "continuation": {
+ "description": "Continuation Id for database pagination. Initially null but later used to paginate.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "maxCount": {
+ "format": "int32",
+ "description": "Maximum number of results you want to be returned in the response.",
+ "type": "integer",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "sortBy": {
+ "description": "OrderBy. Ordering mechanism for your results.",
+ "enum": [
+ "UncertaintyAscending",
+ "UncertaintyDescending"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "SortBy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Tag": {
+ "description": "Represents a Tag.",
+ "required": [
+ "name",
+ "description",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Gets the Tag ID.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "description": "Gets or sets the name of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false
+ },
+ "description": {
+ "description": "Gets or sets the description of the tag.",
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the tag.",
+ "enum": [
+ "Regular",
+ "Negative"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TagType",
+ "modelAsString": true
+ }
+ },
+ "imageCount": {
+ "format": "int32",
+ "description": "Gets the number of images with this tag.",
+ "type": "integer",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ },
+ "TagFilter": {
+ "description": "Model that query for counting of images whose suggested tags match given tags and their probability are greater than or equal to the given threshold.",
+ "type": "object",
+ "properties": {
+ "tagIds": {
+ "description": "Existing TagIds in project to get suggested tags count for.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ },
+ "threshold": {
+ "format": "double",
+ "description": "Confidence threshold to filter suggested tags on.",
+ "type": "number",
+ "readOnly": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TagPerformance": {
+ "description": "Represents performance data for a particular tag in a trained iteration.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precision": {
+ "format": "float",
+ "description": "Gets the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "precisionStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the precision.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recall": {
+ "format": "float",
+ "description": "Gets the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "recallStdDeviation": {
+ "format": "float",
+ "description": "Gets the standard deviation for the recall.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "averagePrecision": {
+ "format": "float",
+ "description": "Gets the average precision when applicable.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "TrainingParameters": {
+ "description": "Parameters used for training.",
+ "type": "object",
+ "properties": {
+ "selectedTags": {
+ "description": "List of tags selected for this training session, other tags in the project will be ignored.",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": false
+ },
+ "readOnly": false
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoints.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Training-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImageRegions.json
new file mode 100644
index 000000000000..290b0cacd11a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImageRegions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "batch": {
+ "regions": [
+ {
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "created": [],
+ "duplicated": [],
+ "exceeded": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImageTags.json
new file mode 100644
index 000000000000..5b7395424693
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImageTags.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "batch": {
+ "tags": [
+ {
+ "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "created": [
+ {
+ "imageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a"
+ }
+ ],
+ "duplicated": null,
+ "exceeded": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromData.json
new file mode 100644
index 000000000000..bab109da7c54
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromData.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ],
+ "imageData": "multipart data"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ },
+ {
+ "sourceUrl": "\"hemlock_6.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "f1855a92-b873-47e7-b513-f07a667ceda1",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 900,
+ "height": 1531,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromFiles.json
new file mode 100644
index 000000000000..03ab3626201f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromFiles.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "name": "hemlock_10.jpg",
+ "contents": "{image contents}"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromPredictions.json
new file mode 100644
index 000000000000..741545bde645
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromPredictions.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "\"hemlock_10.jpg\"",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag 1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromUrls.json
new file mode 100644
index 000000000000..f781b387b4ba
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateImagesFromUrls.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "batch": {
+ "images": [
+ {
+ "url": "{url to image}"
+ }
+ ],
+ "tagIds": [
+ "b607964f-7bd6-4a3b-a869-6791fb6aab87"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "isBatchSuccessful": true,
+ "images": [
+ {
+ "sourceUrl": "{url to image}",
+ "status": "OK",
+ "image": {
+ "id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "created": "2017-12-19T15:56:10Z",
+ "width": 1095,
+ "height": 900,
+ "resizedImageUri": "{Resized Image Uri}",
+ "originalImageUri": "{Image Uri}",
+ "thumbnailUri": "{Thumbnail Uri}",
+ "tags": [
+ {
+ "tagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87",
+ "created": "2017-12-19T15:56:09Z",
+ "tagName": "tag name"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateProject.json
new file mode 100644
index 000000000000..88f852ced738
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateProject.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "name": "My New Project",
+ "description": "A test project",
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "A test project",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateTag.json
new file mode 100644
index 000000000000..ed19817462ae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/CreateTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "body": ""
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImageRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImageRegions.json
new file mode 100644
index 000000000000..8931d4e2629e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImageRegions.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "regionIds": [
+ ""
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImageTags.json
new file mode 100644
index 000000000000..d6a188454e9b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImageTags.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "imageIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ],
+ "tagIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImages.json
new file mode 100644
index 000000000000..ccc479209fd2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteImages.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "imageIds": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteIteration.json
new file mode 100644
index 000000000000..d1f9b7629958
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteIteration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeletePrediction.json
new file mode 100644
index 000000000000..c6b2d5c0bc58
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeletePrediction.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "ids": [
+ "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ ]
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteProject.json
new file mode 100644
index 000000000000..2b4cb5723a6a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteProject.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteTag.json
new file mode 100644
index 000000000000..e9f802505a09
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/DeleteTag.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ExportIteration.json
new file mode 100644
index 000000000000..1bbfa05a5d86
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ExportIteration.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "platform": "TensorFlow"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "platform": "TensorFlow",
+ "status": "Exporting",
+ "downloadUri": "",
+ "newerVersionAvailable": false
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ExportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ExportProject.json
new file mode 100644
index 000000000000..8d59acb577d1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ExportProject.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "token": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetDomain.json
new file mode 100644
index 000000000000..c6702b3a8f29
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "name": "Retail",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetDomains.json
new file mode 100644
index 000000000000..a10887726fcb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetDomains.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "name": "General",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "name": "Food",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "ca455789-012d-4b50-9fec-5bb63841c793",
+ "name": "Landmarks",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39",
+ "name": "Retail",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "45badf75-3591-4f26-a705-45678d3e9f5f",
+ "name": "Adult",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "0732100f-1a38-4e49-a514-c9b44c697ab5",
+ "name": "General (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894",
+ "name": "Landmarks (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ },
+ {
+ "id": "6b4faeda-8396-481b-9f8b-177b9fa3097f",
+ "name": "Retail (compact)",
+ "type": "Classification",
+ "exportable": false,
+ "enabled": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetExports.json
new file mode 100644
index 000000000000..1267168dbb4c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetExports.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "platform": "TensorFlow",
+ "status": "Done",
+ "newerVersionAvailable": false,
+ "downloadUri": "{Download URI}"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagePerformanceCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagePerformanceCount.json
new file mode 100644
index 000000000000..c57ffd50669b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagePerformanceCount.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12",
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "1"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagePerformances.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagePerformances.json
new file mode 100644
index 000000000000..dfe6eb5a7208
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagePerformances.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "tagIds": [
+ ""
+ ],
+ "orderBy": "Newest"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0,
+ "boundingBox": {
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ }
+ ],
+ "width": 600,
+ "height": 1600,
+ "imageUri": "",
+ "thumbnailUri": "",
+ "tags": [],
+ "regions": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImageRegionProposals.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImageRegionProposals.json
new file mode 100644
index 000000000000..7638215aae62
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImageRegionProposals.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "imageId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "proposals": [
+ {
+ "confidence": 0.25,
+ "boundingBox": {
+ "left": 0.25,
+ "top": 0.25,
+ "width": 0.25,
+ "height": 0.25
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagesByIds.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagesByIds.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetImagesByIds.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIteration.json
new file mode 100644
index 000000000000..2383a6c6f910
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIteration.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:47:02Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIterationPerformance.json
new file mode 100644
index 000000000000..323173c03a51
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIterationPerformance.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "threshold": 0.9
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "perTagPerformance": [
+ {
+ "id": "e31ff107-5505-4753-be42-b369b21b026c",
+ "name": "Hemlock",
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ },
+ {
+ "id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "name": "Japanese Cherry",
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ }
+ ],
+ "precision": 1.0,
+ "precisionStdDeviation": 0.0,
+ "recall": 1.0,
+ "recallStdDeviation": 0.0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIterations.json
new file mode 100644
index 000000000000..ac0c78134a80
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetIterations.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "name": "Iteration 1",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:29Z",
+ "lastModified": "2017-12-18T22:40:41Z",
+ "trainedAt": "2017-12-18T22:40:41Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ },
+ {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:47:02Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 5,
+ "publishName": "model1"
+ },
+ {
+ "id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5",
+ "name": "Iteration 3",
+ "status": "New",
+ "created": "2017-12-19T15:46:59Z",
+ "lastModified": "2017-12-19T15:46:59Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": null,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetProject.json
new file mode 100644
index 000000000000..4b68bf1ea390
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetProject.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "A test project",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetProjects.json
new file mode 100644
index 000000000000..b5166555936f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetProjects.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "My New Project",
+ "description": "",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:18Z",
+ "thumbnailUri": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTag.json
new file mode 100644
index 000000000000..4ad3135822ae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTaggedImageCount.json
new file mode 100644
index 000000000000..c0ed09aa6ae9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTaggedImageCount.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "10"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTaggedImages.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTaggedImages.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTags.json
new file mode 100644
index 000000000000..6ad8ea76c689
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetTags.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Tag1",
+ "description": "Description of Tag1",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetUntaggedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetUntaggedImageCount.json
new file mode 100644
index 000000000000..c0ed09aa6ae9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetUntaggedImageCount.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "10"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetUntaggedImages.json
new file mode 100644
index 000000000000..037118bc9d41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/GetUntaggedImages.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": []
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ImportProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ImportProject.json
new file mode 100644
index 000000000000..87702da27426
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/ImportProject.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "token": "token"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "Import Project",
+ "description": "",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2019-10-06T05:43:18Z",
+ "lastModified": "2019-10-06T05:43:18Z",
+ "thumbnailUri": "",
+ "status": "Importing"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/PublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/PublishIteration.json
new file mode 100644
index 000000000000..67d6ad03e29f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/PublishIteration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "publishName": "Model1",
+ "predictionId": "/subscriptions/{subscription}/resourceGroups/{resource group name}/providers/Microsoft.CognitiveServices/accounts/{resource name}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": true
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QueryPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QueryPredictions.json
new file mode 100644
index 000000000000..0bd19d6b7980
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QueryPredictions.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "query": {
+ "orderBy": "Newest",
+ "tags": [
+ {
+ "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "maxThreshold": 1,
+ "minThreshold": 0.9
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "results": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "project": "8988643a-ae70-447d-9a22-15c4255e5ecb",
+ "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "originalImageUri": "",
+ "thumbnailUri": "",
+ "resizedImageUri": "",
+ "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ }
+ ],
+ "token": {
+ "session": "1:286613",
+ "continuation": "",
+ "maxCount": 0,
+ "orderBy": "Newest",
+ "tags": [
+ {
+ "id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "minThreshold": 0.9,
+ "maxThreshold": 1.0
+ }
+ ],
+ "iterationId": null,
+ "startTime": null,
+ "endTime": null,
+ "application": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuerySuggestedImageCount.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuerySuggestedImageCount.json
new file mode 100644
index 000000000000..bfe12dad0540
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuerySuggestedImageCount.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "query": {
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544": 1
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuerySuggestedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuerySuggestedImages.json
new file mode 100644
index 000000000000..c42db2bc784f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuerySuggestedImages.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "query": {
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "results": [
+ {
+ "id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042",
+ "project": "8988643a-ae70-447d-9a22-15c4255e5ecb",
+ "iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66",
+ "created": "2018-01-31T20:18:26Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "originalImageUri": "",
+ "thumbnailUri": "",
+ "resizedImageUri": "",
+ "domain": "b30a91ae-e3c1-4f73-a81e-c270bff27c39"
+ }
+ ],
+ "token": {
+ "session": "1:286613",
+ "continuation": "",
+ "maxCount": 0,
+ "sortBy": "Newest",
+ "tagIds": [
+ "b5f7e6a2-a481-49a6-afec-a7cef1af3544"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuickTestImage.json
new file mode 100644
index 000000000000..489852dc79df
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuickTestImage.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "imageData": "multipart-form-data"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "951098b2-9b69-427b-bddb-d5cb618874e3",
+ "project": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "created": "2017-12-19T14:21:41Z",
+ "predictions": [
+ {
+ "tagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "tagName": "Hemlock",
+ "probability": 0.05149666
+ },
+ {
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "tagName": "Japanese Cherry",
+ "probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuickTestImageUrl.json
new file mode 100644
index 000000000000..dc904ef6f116
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/QuickTestImageUrl.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "imageUrl": {
+ "url": "{Image URL}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "951098b2-9b69-427b-bddb-d5cb618874e3",
+ "project": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a",
+ "created": "2017-12-19T14:21:41Z",
+ "predictions": [
+ {
+ "tagId": "e31ff107-5505-4753-be42-b369b21b026c",
+ "tagName": "Hemlock",
+ "probability": 0.05149666
+ },
+ {
+ "tagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a",
+ "tagName": "Japanese Cherry",
+ "probability": 0.00
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/SuggestTagsAndRegions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/SuggestTagsAndRegions.json
new file mode 100644
index 000000000000..175a0a2a01e0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/SuggestTagsAndRegions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iterationId": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9",
+ "imageIds": [
+ "e7f08c23-9e54-49f7-b609-69a0240ba306",
+ "ce632666-4b66-4adb-aa0a-ad8b7c32df06"
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "8497e814-23cc-47d7-b24b-691cef0bcec9",
+ "project": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "iteration": "ce271ee4-cc13-460f-b66f-993f8005522d",
+ "created": "2019-07-08T13:43:18Z",
+ "predictions": [
+ {
+ "tagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544",
+ "tagName": "Tag 1",
+ "probability": 1.0
+ },
+ {
+ "tagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3",
+ "tagName": "Tag 2",
+ "probability": 3.60627153E-12
+ }
+ ],
+ "predictionUncertainty": 0.32
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/TrainProject.json
new file mode 100644
index 000000000000..dd3deca15afb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/TrainProject.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "trainingParameters": {}
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Iteration 2",
+ "status": "Training",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:46:58Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "domainId": null,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UnpublishIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UnpublishIteration.json
new file mode 100644
index 000000000000..d1f9b7629958
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UnpublishIteration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateIteration.json
new file mode 100644
index 000000000000..a965deb8aa0f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateIteration.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "updatedIteration": {
+ "name": "Best Iteration"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758",
+ "name": "Best Iteration",
+ "status": "Completed",
+ "created": "2017-12-18T22:40:36Z",
+ "lastModified": "2017-12-19T15:53:07Z",
+ "trainedAt": "2017-12-19T15:47:02Z",
+ "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c",
+ "exportable": false,
+ "exportableTo": [
+ "ONNX",
+ "DockerFile",
+ "TensorFlow",
+ "CoreML"
+ ],
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31",
+ "trainingType": "Regular",
+ "reservedBudgetInHours": 0,
+ "publishName": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateProject.json
new file mode 100644
index 000000000000..e19735364b5e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateProject.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "updatedProject": {
+ "name": "New Project Name",
+ "description": "A new Description",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "name": "New Project Name",
+ "description": "A new Description",
+ "settings": {
+ "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31"
+ },
+ "created": "2017-12-18T05:43:18Z",
+ "lastModified": "2017-12-18T05:43:19Z",
+ "thumbnailUri": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateTag.json
new file mode 100644
index 000000000000..51e0ee680aab
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/stable/v3.2/examples/UpdateTag.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "https://westus.api.cognitive.microsoft.com",
+ "Content-Type": "application/json",
+ "Training-Key": "{API Key}",
+ "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e",
+ "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "updatedTag": {
+ "name": "Better Tag Name",
+ "type": "Regular",
+ "description": "Better description"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01",
+ "name": "Better Tag Name",
+ "description": "Better description",
+ "type": "Regular",
+ "imageCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json
index 1fa1ca8e2b16..44eaef160894 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json
@@ -997,8 +997,7 @@
"type": "object",
"required": [
"boundingBox",
- "text",
- "confidence"
+ "text"
],
"properties": {
"text": {
diff --git a/specification/cognitiveservices/data-plane/Personalizer/readme.md b/specification/cognitiveservices/data-plane/Personalizer/readme.md
index c779dc0463e0..888fcc5d55a7 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/readme.md
+++ b/specification/cognitiveservices/data-plane/Personalizer/readme.md
@@ -1,22 +1,29 @@
# Cognitive Services Personalizer SDK
-> see https://aka.ms/autorest
+## Releases
-Configuration for generating Personalizer SDK.
+> see https://aka.ms/autorest
-The current release is `release_1_0`.
+The current release is `release_1_0`. A preview release release_1_0 is also available
``` yaml
tag: release_1_0
add-credentials: true
openapi-type: data-plane
```
-# Releases
### Release 1.0
These settings apply only when `--tag=release_1_0` is specified on the command line.
``` yaml $(tag) == 'release_1_0'
+input-file:
+ - stable/v1.0/Personalizer.json
+```
+
+### Release 1.0-Preview
+These settings apply only when `--tag=release_1_0_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0_preview'
input-file:
- preview/v1.0/Personalizer.json
```
@@ -29,7 +36,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
- - repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
@@ -37,7 +43,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_personalizer']
```
-
## CSharp Settings
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
@@ -54,11 +59,9 @@ directive:
- from: source-file-csharp
where: $
transform: >-
- if ($.includes("class Events"))
- return $
- .replace( /\"this.Endpoint\"/g, "\"this.Client.Endpoint\"" )
- .replace( /this.Endpoint/g, "Client.Endpoint" );
- return $;
+ return $
+ .replace( /\"this.Endpoint\"/g, "\"this.Client.Endpoint\"" )
+ .replace( /this.Endpoint/g, "Client.Endpoint" );
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -73,6 +76,7 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/stable/v1.0/Personalizer.json
- $(this-folder)/preview/v1.0/Personalizer.json
```
@@ -84,4 +88,3 @@ uncomment the `exclude-file` section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/Personalizer.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/Personalizer.json
new file mode 100644
index 000000000000..e89aa576ea0a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/Personalizer.json
@@ -0,0 +1,1257 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v1.0",
+ "title": "Personalizer Client",
+ "description": "Personalizer Service is an Azure Cognitive Service that makes it easy to target content and experiences without complex pre-analysis or cleanup of past data. Given a context and featurized content, the Personalizer Service returns which content item to show to users in rewardActionId. As rewards are sent in response to the use of rewardActionId, the reinforcement learning algorithm will improve the model and improve performance of future rank calls."
+ },
+ "basePath": "/personalizer/v1.0",
+ "paths": {
+ "/configurations/service": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Get Service Configuration.",
+ "description": "Get the Personalizer service configuration.",
+ "operationId": "ServiceConfiguration_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ServiceConfiguration_Get request": {
+ "$ref": "./examples/ServiceConfiguration_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Update Service Configuration.",
+ "description": "Update the Personalizer service configuration.",
+ "operationId": "ServiceConfiguration_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "config",
+ "in": "body",
+ "description": "The personalizer service configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Invalid service configuration.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ServiceConfiguration_Update request": {
+ "$ref": "./examples/ServiceConfiguration_Update.json"
+ }
+ }
+ }
+ },
+ "/configurations/policy": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Get Policy.",
+ "description": "Get the Learning settings currently used by the Personalizer service.",
+ "operationId": "Policy_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Get request": {
+ "$ref": "./examples/Policy_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Update Policy.",
+ "description": "Update the Learning settings that the Personalizer service will use to train models.",
+ "operationId": "Policy_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "policy",
+ "in": "body",
+ "description": "The Learning settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Invalid policy configuration.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Update request": {
+ "$ref": "./examples/Policy_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Configurations"
+ ],
+ "summary": "Reset Policy.",
+ "description": "Resets the Learning settings of the Personalizer service to default.",
+ "operationId": "Policy_Reset",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Reset request": {
+ "$ref": "./examples/Policy_Reset.json"
+ }
+ }
+ }
+ },
+ "/evaluations/{evaluationId}": {
+ "get": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "Get Evaluation.",
+ "description": "Get the evaluation associated with the Id.",
+ "operationId": "Evaluations_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "evaluationId",
+ "in": "path",
+ "description": "Id of the evaluation.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Evaluation"
+ }
+ },
+ "default": {
+ "description": "Evaluation not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Get request": {
+ "$ref": "./examples/Evaluations_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "Delete Evaluation.",
+ "description": "Delete the evaluation associated with the Id.",
+ "operationId": "Evaluations_Delete",
+ "consumes": [],
+ "produces": [],
+ "parameters": [
+ {
+ "name": "evaluationId",
+ "in": "path",
+ "description": "Id of the evaluation to delete.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Delete request": {
+ "$ref": "./examples/Evaluations_Delete.json"
+ }
+ }
+ }
+ },
+ "/evaluations": {
+ "get": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "List Evaluations.",
+ "description": "List all the submitted evaluations.",
+ "operationId": "Evaluations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Evaluation"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_List request": {
+ "$ref": "./examples/Evaluations_List.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Evaluations"
+ ],
+ "summary": "Create Evaluation.",
+ "description": "Submit a new evaluation job.",
+ "operationId": "Evaluations_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "evaluation",
+ "in": "body",
+ "description": "The evaluation job definition.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EvaluationContract"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Evaluation"
+ },
+ "headers": {
+ "Location": {
+ "description": "Location of the evaluation resource",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Invalid evaluation contract.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Create request": {
+ "$ref": "./examples/Evaluations_Create.json"
+ }
+ }
+ }
+ },
+ "/events/{eventId}/reward": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Post Reward.",
+ "description": "Report reward that resulted from using the action specified in rewardActionId for the specified event.",
+ "operationId": "Events_Reward",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "eventId",
+ "in": "path",
+ "description": "The event id this reward applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "name": "reward",
+ "in": "body",
+ "description": "The reward should be a floating point number, typically between 0 and 1.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RewardRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid reward request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Events_Reward request": {
+ "$ref": "./examples/Events_Reward.json"
+ }
+ }
+ }
+ },
+ "/events/{eventId}/activate": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Activate Event.",
+ "description": "Report that the specified event was actually displayed to the user and a reward should be expected for it",
+ "operationId": "Events_Activate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "eventId",
+ "in": "path",
+ "description": "The event ID this activation applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid activate event request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Events_Activate request": {
+ "$ref": "./examples/Events_Activate.json"
+ }
+ }
+ }
+ },
+ "/logs": {
+ "delete": {
+ "tags": [
+ "Logs"
+ ],
+ "summary": "Deletes Logs.",
+ "description": "Delete all generated logs.",
+ "operationId": "Log_Delete",
+ "consumes": [],
+ "produces": [],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Successful Log_Delete request": {
+ "$ref": "./examples/Log_Delete.json"
+ }
+ }
+ }
+ },
+ "/logs/properties": {
+ "get": {
+ "tags": [
+ "Logs"
+ ],
+ "summary": "Get Log Properties.",
+ "description": "Get properties of generated logs.",
+ "operationId": "Log_GetProperties",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogsProperties"
+ }
+ },
+ "default": {
+ "description": "Logs properties not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Log_GetProperties request": {
+ "$ref": "./examples/Log_GetProperties.json"
+ }
+ }
+ }
+ },
+ "/model": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Get Model.",
+ "description": "Get the model file generated by Personalizer service.",
+ "operationId": "Model_Get",
+ "consumes": [],
+ "produces": [
+ "application/octet-stream"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "file"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_Get request": {
+ "$ref": "./examples/Model_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Reset Model.",
+ "description": "Resets the model file generated by Personalizer service.",
+ "operationId": "Model_Reset",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Model reset failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_Reset request": {
+ "$ref": "./examples/Model_Reset.json"
+ }
+ }
+ }
+ },
+ "/model/properties": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Get Model Properties.",
+ "description": "Get properties of the model file generated by Personalizer service.",
+ "operationId": "Model_GetProperties",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ModelProperties"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_GetProperties request": {
+ "$ref": "./examples/Model_GetProperties.json"
+ }
+ }
+ }
+ },
+ "/rank": {
+ "post": {
+ "tags": [
+ "Rank"
+ ],
+ "summary": "Post Rank.",
+ "description": "Submit a Personalizer rank request, to get which of the provided actions should be used in the provided context.",
+ "operationId": "Rank",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "rankRequest",
+ "in": "body",
+ "description": "A Personalizer request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RankRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/RankResponse"
+ }
+ },
+ "default": {
+ "description": "Invalid rank request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Rank request": {
+ "$ref": "./examples/Rank.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceConfiguration": {
+ "description": "The configuration of the service.",
+ "required": [
+ "rewardWaitTime",
+ "defaultReward",
+ "rewardAggregation",
+ "explorationPercentage",
+ "modelExportFrequency",
+ "logRetentionDays"
+ ],
+ "type": "object",
+ "properties": {
+ "rewardWaitTime": {
+ "format": "duration",
+ "description": "The time span waited until a request is marked with the default reward.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "defaultReward": {
+ "format": "float",
+ "description": "The reward given if a reward is not received within the specified wait time.",
+ "maximum": 1,
+ "minimum": -1,
+ "type": "number"
+ },
+ "rewardAggregation": {
+ "description": "The function used to process rewards, if multiple reward scores are received before rewardWaitTime is over.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "explorationPercentage": {
+ "format": "float",
+ "description": "The percentage of rank responses that will use exploration.",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "modelExportFrequency": {
+ "format": "duration",
+ "description": "Personalizer will start using the most updated trained model for online ranks automatically every specified time period.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "logMirrorEnabled": {
+ "description": "Flag indicates whether log mirroring is enabled.",
+ "type": "boolean"
+ },
+ "logMirrorSasUri": {
+ "description": "Azure storage account container SAS URI for log mirroring.",
+ "type": "string"
+ },
+ "logRetentionDays": {
+ "format": "int32",
+ "description": "Number of days historical logs are to be maintained. -1 implies the logs will never be deleted.",
+ "maximum": 2147483647,
+ "minimum": -1,
+ "type": "integer"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Used to return an error to the client",
+ "required": [
+ "error"
+ ],
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/PersonalizerError",
+ "description": "The error object."
+ }
+ }
+ },
+ "PersonalizerError": {
+ "description": "The error object.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "High level error code.",
+ "enum": [
+ "BadRequest",
+ "ResourceNotFound",
+ "InternalServerError",
+ "InvalidServiceConfiguration",
+ "InvalidPolicyConfiguration",
+ "InvalidPolicyContract",
+ "InvalidEvaluationContract",
+ "InvalidRewardRequest",
+ "InvalidEventIdToActivate",
+ "InvalidRankRequest",
+ "InvalidExportLogsRequest",
+ "InvalidContainer",
+ "FrontEndNotFound",
+ "EvaluationNotFound",
+ "LogsPropertiesNotFound",
+ "RankNullResponse",
+ "UpdateConfigurationFailed",
+ "ModelResetFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersonalizerErrorCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "BadRequest",
+ "description": "Request could not be understood by the server."
+ },
+ {
+ "value": "ResourceNotFound",
+ "description": "Requested resource does not exist on the server."
+ },
+ {
+ "value": "InternalServerError",
+ "description": "A generic error has occurred on the server."
+ },
+ {
+ "value": "InvalidServiceConfiguration",
+ "description": "Invalid service configuration."
+ },
+ {
+ "value": "InvalidPolicyConfiguration",
+ "description": "Invalid policy configuration."
+ },
+ {
+ "value": "InvalidPolicyContract",
+ "description": "Invalid policy contract."
+ },
+ {
+ "value": "InvalidEvaluationContract",
+ "description": "Invalid evaluation contract."
+ },
+ {
+ "value": "InvalidRewardRequest",
+ "description": "Invalid reward request."
+ },
+ {
+ "value": "InvalidEventIdToActivate",
+ "description": "Invalid activate event request."
+ },
+ {
+ "value": "InvalidRankRequest",
+ "description": "Invalid rank request."
+ },
+ {
+ "value": "InvalidExportLogsRequest",
+ "description": "Invalid export logs request."
+ },
+ {
+ "value": "InvalidContainer",
+ "description": "SAS Uri must be the Uri to a container that has write permissions."
+ },
+ {
+ "value": "FrontEndNotFound",
+ "description": "Front end not found."
+ },
+ {
+ "value": "EvaluationNotFound",
+ "description": "Evaluation not found."
+ },
+ {
+ "value": "LogsPropertiesNotFound",
+ "description": "Logs properties not found."
+ },
+ {
+ "value": "RankNullResponse",
+ "description": "Rank call returned null response."
+ },
+ {
+ "value": "UpdateConfigurationFailed",
+ "description": "Failed to update configuration."
+ },
+ {
+ "value": "ModelResetFailed",
+ "description": "Model reset failed."
+ }
+ ]
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Error source element.",
+ "type": "string"
+ },
+ "details": {
+ "description": "An array of details about specific errors that led to this reported error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PersonalizerError"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InternalError",
+ "description": "Finer error details."
+ }
+ }
+ },
+ "InternalError": {
+ "description": "An object containing more specific information than the parent object about the error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Detailed error code.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InternalError",
+ "description": "The error object."
+ }
+ }
+ },
+ "PolicyContract": {
+ "description": "Learning settings specifying how to train the model.",
+ "required": [
+ "name",
+ "arguments"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Learning settings.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "arguments": {
+ "description": "Arguments of the Learning settings.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "Evaluation": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "enum": [
+ "completed",
+ "pending",
+ "failed",
+ "notSubmitted"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EvaluationJobStatus",
+ "modelAsString": true
+ }
+ },
+ "policyResults": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyResult"
+ }
+ },
+ "featureImportance": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "PolicyResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true
+ },
+ "arguments": {
+ "type": "string",
+ "readOnly": true
+ },
+ "summary": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyResultSummary"
+ },
+ "readOnly": true
+ },
+ "totalSummary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyResultSummary"
+ }
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "PolicyResultSummary": {
+ "type": "object",
+ "properties": {
+ "timeStamp": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipsEstimatorNumerator": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "ipsEstimatorDenominator": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "snipsEstimatorDenominator": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "aggregateTimeWindow": {
+ "format": "duration",
+ "type": "string",
+ "readOnly": true
+ },
+ "nonZeroProbability": {
+ "format": "float",
+ "type": "number"
+ },
+ "confidenceInterval": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ },
+ "sumOfSquares": {
+ "format": "float",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "EvaluationContract": {
+ "description": "A counterfactual evaluation.",
+ "required": [
+ "name",
+ "startTime",
+ "endTime",
+ "policies"
+ ],
+ "type": "object",
+ "properties": {
+ "enableOfflineExperimentation": {
+ "description": "True if the evaluation should explore for a more optimal Learning settings.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "The name of the evaluation.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the evaluation.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the evaluation.",
+ "type": "string"
+ },
+ "policies": {
+ "description": "Additional Learning settings to evaluate.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ }
+ },
+ "RewardRequest": {
+ "description": "Reward given to a rank response.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "format": "float",
+ "description": "Reward to be assigned to an action. Value should be between -1 and 1 inclusive.",
+ "type": "number"
+ }
+ }
+ },
+ "LogsProperties": {
+ "type": "object",
+ "properties": {
+ "dateRange": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DateRange"
+ }
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "DateRange": {
+ "type": "object",
+ "properties": {
+ "from": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "to": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModelProperties": {
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RankRequest": {
+ "description": "Request a set of actions to be ranked by the Personalizer service.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "contextFeatures": {
+ "description": "Features of the context used for Personalizer as a\r\ndictionary of dictionaries. This depends on the application, and\r\ntypically includes features about the current user, their\r\ndevice, profile information, aggregated data about time and date, etc.\r\nFeatures should not include personally identifiable information (PII),\r\nunique UserIDs, or precise timestamps.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "actions": {
+ "description": "The set of actions the Personalizer service can pick from.\r\nThe set should not contain more than 50 actions.\r\nThe order of the actions does not affect the rank result but the order\r\nshould match the sequence your application would have used to display them.\r\nThe first item in the array will be used as Baseline item in Offline evaluations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankableAction"
+ }
+ },
+ "excludedActions": {
+ "description": "The set of action ids to exclude from ranking.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "eventId": {
+ "description": "Optionally pass an eventId that uniquely identifies this Rank event.\r\nIf null, the service generates a unique eventId. The eventId will be used for\r\nassociating this request with its reward, as well as seeding the pseudo-random\r\ngenerator when making a Personalizer call.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "deferActivation": {
+ "description": "Send false if it is certain the rewardActionId in rank results will be shown to the user, therefore\r\nPersonalizer will expect a Reward call, otherwise it will assign the default\r\nReward to the event. Send true if it is possible the user will not see the\r\naction specified in the rank results, because the page is rendering later, or the Rank results may be\r\noverridden by code further downstream.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "RankableAction": {
+ "description": "An action with it's associated features used for ranking.",
+ "required": [
+ "id",
+ "features"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the action.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "features": {
+ "description": "List of dictionaries containing features.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "RankResponse": {
+ "description": "Returns which action to use as rewardActionId, and additional information about each action as a result of a Rank request.",
+ "type": "object",
+ "properties": {
+ "ranking": {
+ "description": "The calculated ranking for the current request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankedAction"
+ },
+ "readOnly": true
+ },
+ "eventId": {
+ "description": "The eventId for the round trip from request to response.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "rewardActionId": {
+ "description": "The action chosen by the Personalizer service. This is the action your application should display, and for which to report the reward. This might not be the\r\nfirst found in 'ranking' if an action in the request in first position was part of the excluded ids.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RankedAction": {
+ "description": "A ranked action with its resulting probability.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the action",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "probability": {
+ "format": "float",
+ "description": "Probability of the action",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerStatus": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "type": "string"
+ },
+ "apiStatus": {
+ "type": "string"
+ },
+ "apiStatusMessage": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "in": "path",
+ "description": "Supported Cognitive Services endpoint.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header",
+ "type": "apiKey"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "tags": [
+ {
+ "name": "Configurations",
+ "description": "Manages configuration operations."
+ },
+ {
+ "name": "Evaluations",
+ "description": "Manages counterfactual evaluation operations."
+ },
+ {
+ "name": "Events",
+ "description": "Manages event operations."
+ },
+ {
+ "name": "Logs",
+ "description": "Manages reinforcement learning logs."
+ },
+ {
+ "name": "Model",
+ "description": "Manages reinforcement learning configuration operations."
+ },
+ {
+ "name": "Rank",
+ "description": "Manages ranking operations."
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Create.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Create.json
new file mode 100644
index 000000000000..8e392dfae1cd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Create.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluation": {
+ "enableOfflineExperimentation": true,
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "policies": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ]
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/personalizer/v1.0/evaluations/{evaluationId}"
+ },
+ "body": {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ],
+ "featureImportance": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Delete.json
new file mode 100644
index 000000000000..682e8a6a8084
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Delete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluationId": "id",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Get.json
new file mode 100644
index 000000000000..aec174af7856
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_Get.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluationId": "id",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "completed",
+ "policyResults": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5",
+ "summary": [
+ {
+ "timeStamp": "2018-12-19T00:00:00Z",
+ "ipsEstimatorNumerator": 0.0,
+ "ipsEstimatorDenominator": 170.0,
+ "snipsEstimatorDenominator": 308.25,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 64.0,
+ "confidenceInterval": 0.0,
+ "sumOfSquares": 0.0
+ },
+ {
+ "timeStamp": "2018-12-19T00:05:00Z",
+ "ipsEstimatorNumerator": 2.2,
+ "ipsEstimatorDenominator": 196.0,
+ "snipsEstimatorDenominator": 193.761,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 68.0,
+ "confidenceInterval": 1.1009,
+ "sumOfSquares": 2.424
+ }
+ ],
+ "totalSummary": {
+ "timeStamp": "2019-01-19T00:00:00Z",
+ "ipsEstimatorNumerator": 22.2,
+ "ipsEstimatorDenominator": 1906.0,
+ "snipsEstimatorDenominator": 1993.761,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 68.0,
+ "confidenceInterval": 1.1209,
+ "sumOfSquares": 2.484
+ }
+ }
+ ],
+ "featureImportance": [
+ [
+ "f1",
+ "f2"
+ ],
+ [
+ "f3",
+ "f4"
+ ]
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_List.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_List.json
new file mode 100644
index 000000000000..c09af2b83e0e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Evaluations_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-11-19T00:00:00Z",
+ "endTime": "2018-12-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [
+ {
+ "name": "Custom Learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ],
+ "featureImportance": []
+ },
+ {
+ "id": "21d03972-9130-4be9-8c8b-8ac3ec9b9dd1",
+ "name": "mySecondEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [],
+ "featureImportance": []
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Activate.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Activate.json
new file mode 100644
index 000000000000..a7bec92839a5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Activate.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Reward.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Reward.json
new file mode 100644
index 000000000000..78802cdfed80
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Events_Reward.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "reward": {
+ "value": 1.0
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_Delete.json
new file mode 100644
index 000000000000..bd50cf1be127
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_Delete.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_GetProperties.json
new file mode 100644
index 000000000000..fc02b29ae13b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Log_GetProperties.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "dateRange": {
+ "from": "2019-01-18T16:00:00-08:00",
+ "to": "2019-02-18T16:00:00-08:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Get.json
new file mode 100644
index 000000000000..b8aee663b45a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Get.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": ""
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_GetProperties.json
new file mode 100644
index 000000000000..df3753d4749b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_GetProperties.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "creationTime": "2019-01-18T16:00:00-08:00",
+ "lastModifiedTime": "2019-01-18T16:00:00-08:00"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Reset.json
new file mode 100644
index 000000000000..bd50cf1be127
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Model_Reset.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Get.json
new file mode 100644
index 000000000000..d454ebf852e5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Get.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Reset.json
new file mode 100644
index 000000000000..d454ebf852e5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Reset.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Update.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Update.json
new file mode 100644
index 000000000000..a20c1b928b74
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Policy_Update.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policy": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Rank.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Rank.json
new file mode 100644
index 000000000000..32772be66a8e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/Rank.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "rankRequest": {
+ "contextFeatures": [
+ {
+ "timeOfDay": "Morning"
+ }
+ ],
+ "actions": [
+ {
+ "id": "NewsArticle",
+ "features": [
+ {
+ "type": "News"
+ }
+ ]
+ },
+ {
+ "id": "SportsArticle",
+ "features": [
+ {
+ "type": "Sports"
+ }
+ ]
+ },
+ {
+ "id": "EntertainmentArticle",
+ "features": [
+ {
+ "type": "Entertainment"
+ }
+ ]
+ }
+ ],
+ "excludedActions": [
+ "SportsArticle"
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "deferActivation": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "ranking": [
+ {
+ "id": "EntertainmentArticle",
+ "probability": 0.8
+ },
+ {
+ "id": "SportsArticle",
+ "probability": 0.0
+ },
+ {
+ "id": "NewsArticle",
+ "probability": 0.2
+ }
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "rewardActionId": "EntertainmentArticle"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Get.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Get.json
new file mode 100644
index 000000000000..6c1ba6b0d7b1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Update.json b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Update.json
new file mode 100644
index 000000000000..60eee8d630cb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/stable/v1.0/examples/ServiceConfiguration_Update.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "config": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7
+ },
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
index a508c540a305..928efa6d8bd0 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
+++ b/specification/cognitiveservices/data-plane/QnAMaker/stable/v4.0/QnAMaker.json
@@ -899,6 +899,12 @@
"description": "Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True.",
"maxLength": 300,
"minLength": 1
+ },
+ "language": {
+ "type": "string",
+ "description": "Language of the knowledgebase.",
+ "maxLength": 100,
+ "minLength": 1
}
}
},
@@ -1344,6 +1350,10 @@
"lastStableVersion": {
"type": "string",
"description": "Latest version of runtime."
+ },
+ "language": {
+ "type": "string",
+ "description": "Language setting of runtime."
}
}
}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
index 91bdbfa05aca..2c826b9ba1c4 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json
@@ -80,7 +80,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
@@ -138,7 +138,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
@@ -196,7 +196,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
@@ -254,7 +254,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
@@ -312,7 +312,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
@@ -370,7 +370,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
@@ -436,13 +436,11 @@
"error": {
"type": "object",
"description": "Document Error.",
- "items": {
- "$ref": "#/definitions/Error"
- }
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
},
- "Error": {
+ "TextAnalyticsError": {
"type": "object",
"required": [
"code",
@@ -457,6 +455,10 @@
"internalServerError",
"serviceUnavailable"
],
+ "x-ms-enum": {
+ "name": "ErrorCodeValue",
+ "modelAsString": false
+ },
"description": "Error code."
},
"message": {
@@ -467,7 +469,7 @@
"type": "string",
"description": "Error target."
},
- "innererror": {
+ "innerError": {
"$ref": "#/definitions/InnerError",
"description": "Inner error contains more specific information."
},
@@ -475,7 +477,7 @@
"type": "array",
"description": "Details about specific errors that led to this reported error.",
"items": {
- "$ref": "#/definitions/Error"
+ "$ref": "#/definitions/TextAnalyticsError"
}
}
}
@@ -500,17 +502,28 @@
"unsupportedLanguageCode",
"invalidCountryHint"
],
+ "x-ms-enum": {
+ "name": "InnerErrorCodeValue",
+ "modelAsString": false
+ },
"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": {
+ "innerError": {
"$ref": "#/definitions/InnerError",
"description": "Inner error contains more specific information."
}
@@ -568,13 +581,18 @@
"neutral",
"negative",
"mixed"
- ]
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSentimentValue",
+ "modelAsString": false
+ }
},
"statistics": {
"$ref": "#/definitions/DocumentStatistics"
},
"documentScores": {
- "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class."
+ "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
},
"sentences": {
"type": "array",
@@ -676,10 +694,15 @@
"positive",
"neutral",
"negative"
- ]
+ ],
+ "x-ms-enum": {
+ "name": "SentenceSentimentValue",
+ "modelAsString": false
+ }
},
"sentenceScores": {
- "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes."
+ "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
},
"offset": {
"type": "integer",
@@ -1096,4 +1119,4 @@
"x-ms-skip-url-encoding": true
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
index d54e2f91d6ca..f2986728bd65 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
@@ -229,7 +229,7 @@
"$ref": "#/definitions/SentimentBatchResult"
}
},
- "500": {
+ "default": {
"description": "Error Response",
"schema": {
"$ref": "#/definitions/ErrorResponse"
@@ -259,25 +259,6 @@
"$ref": "#/definitions/MultiLanguageInput"
}
}
- },
- "example": {
- "documents": [
- {
- "language": "en",
- "id": "1",
- "text": "Hello world. This is some input text that I love."
- },
- {
- "language": "fr",
- "id": "2",
- "text": "Bonjour tout le monde"
- },
- {
- "language": "es",
- "id": "3",
- "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
- }
- ]
}
},
"MultiLanguageInput": {
@@ -557,25 +538,6 @@
"$ref": "#/definitions/LanguageInput"
}
}
- },
- "example": {
- "documents": [
- {
- "countryHint": "en",
- "id": "1",
- "text": "Hello world. This is some input text that I love."
- },
- {
- "countryHint": "fr",
- "id": "2",
- "text": "Bonjour tout le monde"
- },
- {
- "countryHint": "es",
- "id": "3",
- "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
- }
- ]
}
},
"LanguageInput": {
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
index 578647611f03..a0d747af107d 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
@@ -86,6 +86,12 @@
"$ref": "#/definitions/CognitiveServicesAccount"
}
},
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CognitiveServicesAccount"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed",
"schema": {
@@ -146,6 +152,12 @@
"$ref": "#/definitions/CognitiveServicesAccount"
}
},
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/CognitiveServicesAccount"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
"schema": {
@@ -194,6 +206,9 @@
"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."
},
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json
index 0fb6620ac0c8..89c1b013bdd2 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CreateAccount.json
@@ -49,6 +49,24 @@
"internalId": "9dc1c5b9bb95486aa63899acdaebd9a0"
}
}
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/felixwa-01/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",
+ "internalId": "9dc1c5b9bb95486aa63899acdaebd9a0"
+ }
+ }
}
}
}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json
index ca8c96fbff78..cd0244d1544b 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/DeleteAccount.json
@@ -7,6 +7,7 @@
},
"responses": {
"200": {},
+ "202": {},
"204": {}
}
}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json
index 5202d73879af..e4ba6c016f26 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/UpdateAccount.json
@@ -28,6 +28,24 @@
"internalId": "ceebe1e8e40f44e69554c1a759de4cf9"
}
}
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/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",
+ "internalId": "ceebe1e8e40f44e69554c1a759de4cf9"
+ }
+ }
}
}
}
diff --git a/specification/common-types/resource-management/v1/types.json b/specification/common-types/resource-management/v1/types.json
index 178a5b236304..7415ea29529d 100644
--- a/specification/common-types/resource-management/v1/types.json
+++ b/specification/common-types/resource-management/v1/types.json
@@ -319,6 +319,120 @@
}
},
"description": "The resource management error additional info."
+ },
+ "locationData": {
+ "description": "Metadata pertaining to the geographic location of the resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "A canonical name for the geographic or physical location."
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or locality where the resource is located."
+ },
+ "district": {
+ "type": "string",
+ "description": "The district, state, or province where the resource is located."
+ },
+ "countryOrRegion": {
+ "type": "string",
+ "description": "The country or region where the resource is located"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "encryptionProperties": {
+ "description": "Configuration of key for data encryption",
+ "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."
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "identity": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
}
},
"parameters": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-09-01/examples/ListAvailableResourceSkus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-09-01/examples/ListAvailableResourceSkus.json
index 8e99ea6ab92a..9c7faac7e13a 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2017-09-01/examples/ListAvailableResourceSkus.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2017-09-01/examples/ListAvailableResourceSkus.json
@@ -78,7 +78,8 @@
{
"location": "westus",
"zones": [
- "westus-AZ01"
+ "1",
+ "2"
]
}
],
@@ -158,8 +159,9 @@
{
"location": "westus",
"zones": [
- "westus-AZ02",
- "westus-AZ01"
+ "1",
+ "2",
+ "3"
]
}
],
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
index 9a43adb6f835..f793a723d513 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
@@ -6087,11 +6087,7 @@
},
"gracePeriod": {
"type": "string",
- "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M)."
- },
- "maxInstanceRepairsPercent": {
- "type": "integer",
- "description": "The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%."
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value."
}
},
"description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json
index 3041b5e76774..8e8160513e48 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -61,8 +61,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
}
}
}
@@ -137,8 +136,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
},
"provisioningState": "Creating"
},
@@ -216,8 +214,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
index 9e9efb445e11..3a626b5f5f45 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/compute.json
@@ -2058,7 +2058,12 @@
}
}
},
- "x-ms-long-running-operation": true
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates tags of an Image.": {
+ "$ref": "./examples/UpdateImage.json"
+ }
+ }
},
"delete": {
"tags": [
@@ -6552,7 +6557,7 @@
},
"StorageAccountType": {
"type": "string",
- "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types ",
"enum": [
"Standard_LRS",
"Premium_LRS",
@@ -6966,11 +6971,7 @@
},
"gracePeriod": {
"type": "string",
- "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M)."
- },
- "maxInstanceRepairsPercent": {
- "type": "integer",
- "description": "The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%."
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value."
}
},
"description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
@@ -7601,7 +7602,17 @@
],
"x-ms-enum": {
"name": "OperatingSystemTypes",
- "modelAsString": false
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Windows",
+ "description": "Windows OS Type"
+ },
+ {
+ "value": "Linux",
+ "description": "Linux OS Type"
+ }
+ ]
}
},
"osState": {
@@ -7613,7 +7624,17 @@
],
"x-ms-enum": {
"name": "OperatingSystemStateTypes",
- "modelAsString": false
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Generalized image. Needs to be provisioned during deployment time."
+ },
+ {
+ "value": "Specialized",
+ "description": "Specialized image. Contains already provisioned OS Disk."
+ }
+ ]
}
},
"snapshot": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
index 99a8dbe41c9b..68aa07a0ea3b 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -61,8 +61,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
}
}
}
@@ -137,8 +136,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
},
"provisioningState": "Creating"
},
@@ -216,8 +214,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json
index 055debd6eca4..0b50b88fec63 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromABlob.json
@@ -12,7 +12,8 @@
"osType": "Linux",
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"osState": "Generalized"
- }
+ },
+ "zoneResilient": true
}
}
}
@@ -28,7 +29,8 @@
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -48,7 +50,8 @@
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json
index edd1a07ae4d8..e6c97d0e3994 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAManagedDisk.json
@@ -14,7 +14,8 @@
"id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
},
"osState": "Generalized"
- }
+ },
+ "zoneResilient": true
}
}
}
@@ -32,7 +33,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -54,7 +56,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json
index 459f8b7bd7b2..d3d0d827e5b5 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromASnapshot.json
@@ -14,7 +14,8 @@
"id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
},
"osState": "Generalized"
- }
+ },
+ "zoneResilient": false
}
}
}
@@ -32,7 +33,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -54,7 +56,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json
index 92af3a9511f7..1a7b0dccc0b6 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageFromAVM.json
@@ -29,7 +29,8 @@
},
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -54,7 +55,8 @@
},
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
index 5b4cb0efae6d..353e494809c7 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -18,7 +18,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
}
}
}
@@ -39,7 +40,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -64,7 +66,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
index 8260512674b4..a9d6a635ce80 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -22,7 +22,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
}
}
}
@@ -47,7 +48,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -76,7 +78,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
index d9e8bce3fc5a..1a39b0d86caf 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -22,7 +22,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
}
}
}
@@ -47,7 +48,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -76,7 +78,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json
index 14322734b054..2ce1651a8a1d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAnImage.json
@@ -39,7 +39,8 @@
},
"storageAccountType": "Standard_LRS"
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "created"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..4b09489a0bf1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "hyperVGeneration": "V1"
+ },
+ "tags": {
+ "department": "HR"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+ }
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkus.json
index 98525fa615dc..3b2c82e8971e 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkus.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkus.json
@@ -78,12 +78,13 @@
{
"location": "westus",
"zones": [
- "westus-AZ01"
+ "2",
+ "1"
],
"zoneDetails": [
{
"name": [
- "westus-AZ01"
+ "2"
],
"capabilities": [
{
@@ -171,8 +172,9 @@
{
"location": "westus",
"zones": [
- "westus-AZ02",
- "westus-AZ01"
+ "1",
+ "2",
+ "3"
]
}
],
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json
index 1b040438586a..47795fc5eb7c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-04-01/examples/ListAvailableResourceSkusForARegion.json
@@ -79,12 +79,13 @@
{
"location": "westus",
"zones": [
- "westus-AZ01"
+ "2",
+ "1"
],
"zoneDetails": [
{
"name": [
- "westus-AZ01"
+ "2"
],
"capabilities": [
{
@@ -172,8 +173,9 @@
{
"location": "westus",
"zones": [
- "westus-AZ02",
- "westus-AZ01"
+ "1",
+ "2",
+ "3"
]
}
],
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
index c6ec42ff27b0..eeb80123a696 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/compute.json
@@ -2074,7 +2074,12 @@
}
}
},
- "x-ms-long-running-operation": true
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates tags of an Image.": {
+ "$ref": "./examples/UpdateImage.json"
+ }
+ }
},
"delete": {
"tags": [
@@ -2301,7 +2306,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_CreateOrUpdate",
- "description": "The operation to create or update a virtual machine.",
+ "description": "The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2673,7 +2678,7 @@
"VirtualMachines"
],
"operationId": "VirtualMachines_Generalize",
- "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation",
+ "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation. For Windows, please refer to [Create a managed image of a generalized VM in Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource). For Linux, please refer to [How to create an image of a virtual machine or VHD](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image).",
"parameters": [
{
"name": "resourceGroupName",
@@ -2706,7 +2711,6 @@
"$ref": "./examples/GeneralizeVirtualMachine.json"
}
}
-
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": {
@@ -5905,6 +5909,19 @@
],
"description": "The List Availability Set operation response."
},
+ "SubResourceWithColocationStatus": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of a resource in the Proximity Placement Group."
+ }
+ }
+ },
"ProximityPlacementGroupProperties": {
"properties": {
"proximityPlacementGroupType": {
@@ -5923,7 +5940,7 @@
"readOnly": true,
"type": "array",
"items": {
- "$ref": "#/definitions/SubResource"
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
},
"description": "A list of references to all virtual machines in the proximity placement group."
},
@@ -5931,7 +5948,7 @@
"readOnly": true,
"type": "array",
"items": {
- "$ref": "#/definitions/SubResource"
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
},
"description": "A list of references to all virtual machine scale sets in the proximity placement group."
},
@@ -5939,9 +5956,13 @@
"readOnly": true,
"type": "array",
"items": {
- "$ref": "#/definitions/SubResource"
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
},
"description": "A list of references to all availability sets in the proximity placement group."
+ },
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of the Proximity Placement Group."
}
},
"description": "Describes the properties of a Proximity Placement Group."
@@ -6962,6 +6983,11 @@
"version": {
"type": "string",
"description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available."
+ },
+ "exactVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'."
}
},
"allOf": [
@@ -7067,7 +7093,7 @@
},
"StorageAccountType": {
"type": "string",
- "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types",
"enum": [
"Standard_LRS",
"Premium_LRS",
@@ -7317,7 +7343,7 @@
"properties": {
"protocol": {
"type": "string",
- "description": "Specifies the protocol of listener.
Possible values are: **http**
**https**",
+ "description": "Specifies the protocol of WinRM listener.
Possible values are: **http**
**https**",
"enum": [
"Http",
"Https"
@@ -7358,7 +7384,7 @@
},
"timeZone": {
"type": "string",
- "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\""
+ "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".
Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)."
},
"additionalUnattendContent": {
"type": "array",
@@ -7453,7 +7479,7 @@
},
"adminUsername": {
"type": "string",
- "description": "Specifies the name of the administrator account.
For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ "description": "Specifies the name of the administrator account.
This property cannot be updated after the VM is created.
For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
},
"adminPassword": {
"type": "string",
@@ -7461,7 +7487,7 @@
},
"customData": {
"type": "string",
- "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
**Note: Do not pass any secrets or passwords in customData property**
This property cannot be updated after the VM is created.
customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)
For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
},
"windowsConfiguration": {
"$ref": "#/definitions/WindowsConfiguration",
@@ -7484,10 +7510,10 @@
},
"requireGuestProvisionSignal": {
"type": "boolean",
- "description": "Specifies whether the guest provision signal is required from the virtual machine."
+ "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine."
}
},
- "description": "Specifies the operating system settings for the virtual machine."
+ "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned."
},
"AutomaticRepairsPolicy": {
"properties": {
@@ -7497,11 +7523,7 @@
},
"gracePeriod": {
"type": "string",
- "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M)."
- },
- "maxInstanceRepairsPercent": {
- "type": "integer",
- "description": "The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%."
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value."
}
},
"description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
@@ -7868,7 +7890,7 @@
},
"osProfile": {
"$ref": "#/definitions/OSProfile",
- "description": "Specifies the operating system settings for the virtual machine."
+ "description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned."
},
"networkProfile": {
"$ref": "#/definitions/NetworkProfile",
@@ -7880,7 +7902,7 @@
},
"availabilitySet": {
"$ref": "#/definitions/SubResource",
- "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set.
This property cannot exist along with a non-null properties.virtualMachineScaleSet reference."
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.
This property cannot exist along with a non-null properties.virtualMachineScaleSet reference."
},
"virtualMachineScaleSet": {
"$ref": "#/definitions/SubResource",
@@ -7896,7 +7918,7 @@
},
"evictionPolicy": {
"$ref": "#/definitions/evictionPolicy",
- "description": "Specifies the eviction policy for the Azure Spot virtual machine. Only supported value is 'Deallocate'.
Minimum api-version: 2019-03-01"
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, the only supported value is 'Deallocate' and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
},
"billingProfile": {
"$ref": "#/definitions/BillingProfile",
@@ -8144,7 +8166,17 @@
],
"x-ms-enum": {
"name": "OperatingSystemStateTypes",
- "modelAsString": false
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Generalized image. Needs to be provisioned during deployment time."
+ },
+ {
+ "value": "Specialized",
+ "description": "Specialized image. Contains already provisioned OS Disk."
+ }
+ ]
}
}
},
@@ -9184,7 +9216,7 @@
},
"evictionPolicy": {
"$ref": "#/definitions/evictionPolicy",
- "description": "Specifies the eviction policy for virtual machines in a Azure Spot scale set.
Minimum api-version: 2017-10-30-preview"
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, the only supported value is 'Deallocate' and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
},
"billingProfile": {
"$ref": "#/definitions/BillingProfile",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json
index ca9fa69cbe3c..508b04311d46 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json
@@ -1515,6 +1515,10 @@
"type": "integer",
"format": "int32",
"description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
}
},
"description": "Disk resource update properties."
@@ -1541,6 +1545,10 @@
"encryptionSettingsCollection": {
"$ref": "#/definitions/EncryptionSettingsCollection",
"description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
}
},
"description": "Snapshot resource update properties."
@@ -1604,7 +1612,7 @@
},
"storageAccountId": {
"type": "string",
- "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription"
+ "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk."
},
"imageReference": {
"$ref": "#/definitions/ImageDiskReference",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json
index 04db97b2889d..6791548f32e7 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -61,8 +61,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
}
}
}
@@ -137,8 +136,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
},
"provisioningState": "Creating"
},
@@ -216,8 +214,7 @@
},
"automaticRepairsPolicy": {
"enabled": true,
- "gracePeriod": "PT3M",
- "maxInstanceRepairsPercent": 100
+ "gracePeriod": "PT30M"
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json
index 192cbe979bc8..978e18726499 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromABlob.json
@@ -12,7 +12,8 @@
"osType": "Linux",
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"osState": "Generalized"
- }
+ },
+ "zoneResilient": true
}
}
}
@@ -28,7 +29,8 @@
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -48,7 +50,8 @@
"blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json
index 5d6f7761a5b4..1183cb4ae11a 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAManagedDisk.json
@@ -14,7 +14,8 @@
"id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
},
"osState": "Generalized"
- }
+ },
+ "zoneResilient": true
}
}
}
@@ -32,7 +33,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -54,7 +56,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json
index 75ed945d1412..3e028823aef1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromASnapshot.json
@@ -14,7 +14,8 @@
"id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
},
"osState": "Generalized"
- }
+ },
+ "zoneResilient": false
}
}
}
@@ -32,7 +33,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -54,7 +56,8 @@
"osState": "Generalized",
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json
index 20039c541b32..991c53007d1d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageFromAVM.json
@@ -29,7 +29,8 @@
},
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -54,7 +55,8 @@
},
"caching": "ReadWrite"
},
- "dataDisks": []
+ "dataDisks": [],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
index c4d1aa07e629..6d1f1192c030 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -18,7 +18,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
}
}
}
@@ -39,7 +40,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -64,7 +66,8 @@
"lun": 1,
"blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
index 124198ee9856..1f497628f145 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -22,7 +22,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
}
}
}
@@ -47,7 +48,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
@@ -76,7 +78,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
}
}
- ]
+ ],
+ "zoneResilient": false
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
index 2712e8bf9abe..bd24d775f6bd 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -22,7 +22,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
}
}
}
@@ -47,7 +48,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
@@ -76,7 +78,8 @@
"id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
}
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "Creating"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json
index 48f3b185381d..8078bc757ed1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GeneralizeVirtualMachine.json
@@ -8,4 +8,4 @@
"responses": {
"200": {}
}
-}
\ No newline at end of file
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json
index 133e970821a1..d6ae6aeb4836 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/GetInformationAboutAnImage.json
@@ -39,7 +39,8 @@
},
"storageAccountType": "Standard_LRS"
}
- ]
+ ],
+ "zoneResilient": true
},
"provisioningState": "created"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..f26d12155db6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-07-01",
+ "imageName": "myImage",
+ "parameters": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "hyperVGeneration": "V1"
+ },
+ "tags": {
+ "department": "HR"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+ }
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/disk.json
new file mode 100644
index 000000000000..60af00ce5775
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/disk.json
@@ -0,0 +1,2008 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DiskResourceProviderClient",
+ "description": "The Disk Resource Provider Client.",
+ "version": "2019-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.Compute/disks/{diskName}": {
+ "put": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_CreateOrUpdate",
+ "description": "Creates or updates a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Disk object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ },
+ "Create a managed upload disk.": {
+ "$ref": "./examples/CreateAManagedUploadDisk.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Update",
+ "description": "Updates (patches) a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskUpdate"
+ },
+ "description": "Disk object supplied in the body of the Patch disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Get",
+ "description": "Gets information about a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Delete",
+ "description": "Deletes a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_ListByResourceGroup",
+ "description": "Lists all the disks under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_List",
+ "description": "Lists all the disks under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_GrantAccess",
+ "description": "Grants access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_RevokeAccess",
+ "description": "Revokes access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": {
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "description": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "Snapshot object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a snapshot from an existing snapshot in the same or a different subscription.": {
+ "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "description": "Updates (patches) a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SnapshotUpdate"
+ },
+ "description": "Snapshot object supplied in the body of the Patch snapshot operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "description": "Gets information about a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "description": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the snapshot is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "description": "Lists snapshots under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "description": "Lists snapshots under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_GrantAccess",
+ "description": "Grants access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get snapshot access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_RevokeAccess",
+ "description": "Revokes access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": {
+ "put": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_CreateOrUpdate",
+ "description": "Creates or updates a disk encryption set",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "disk encryption set object supplied in the body of the Put disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a disk encryption set.": {
+ "$ref": "./examples/CreateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Update",
+ "description": "Updates (patches) a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetUpdate"
+ },
+ "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk encryption set.": {
+ "$ref": "./examples/UpdateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Get",
+ "description": "Gets information about a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk encryption set.": {
+ "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Delete",
+ "description": "Deletes a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk encryption set is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk encryption set.": {
+ "$ref": "./examples/DeleteADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListByResourceGroup",
+ "description": "Lists all the disk encryption sets under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a resource group.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_List",
+ "description": "Lists all the disk encryption sets under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a subscription.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "Disk": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ },
+ "managedByExtended": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs."
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Logical zone list for Disk."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Disk resource."
+ },
+ "DiskUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ }
+ },
+ "description": "Disk update resource."
+ },
+ "DiskList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "A list of disks."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disks operation response."
+ },
+ "DiskSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "DiskStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads."
+ },
+ {
+ "value": "StandardSSD_LRS",
+ "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test."
+ },
+ {
+ "value": "UltraSSD_LRS",
+ "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads."
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS."
+ },
+ "SnapshotSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "Standard_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage"
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage"
+ },
+ {
+ "value": "Standard_ZRS",
+ "description": "Standard zone redundant storage"
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS."
+ },
+ "DiskProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskIOPSReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskState": {
+ "type": "string",
+ "description": "The state of the disk.",
+ "readOnly": true,
+ "enum": [
+ "Unattached",
+ "Attached",
+ "Reserved",
+ "ActiveSAS",
+ "ReadyToUpload",
+ "ActiveUpload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unattached",
+ "description": "The disk is not being used and can be attached to a VM."
+ },
+ {
+ "value": "Attached",
+ "description": "The disk is currently mounted to a running VM."
+ },
+ {
+ "value": "Reserved",
+ "description": "The disk is mounted to a stopped-deallocated VM"
+ },
+ {
+ "value": "ActiveSAS",
+ "description": "The disk currently has an Active SAS Uri associated with it."
+ },
+ {
+ "value": "ReadyToUpload",
+ "description": "A disk is ready to be created by upload by requesting a write token."
+ },
+ {
+ "value": "ActiveUpload",
+ "description": "A disk is created for upload and a write token has been issued for uploading to it."
+ }
+ ]
+ }
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ },
+ "maxShares": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time."
+ },
+ "shareInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareInfoElement"
+ },
+ "description": "Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Disk resource properties."
+ },
+ "SnapshotProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "incremental": {
+ "type": "boolean",
+ "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Snapshot resource properties."
+ },
+ "ShareInfoElement": {
+ "properties": {
+ "vmUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ }
+ }
+ },
+ "EncryptionSetProperties": {
+ "properties": {
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "The key vault key which is currently used by this disk encryption set."
+ },
+ "previousKeys": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ },
+ "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk encryption set provisioning state."
+ }
+ }
+ },
+ "EncryptionSettingsCollection": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EncryptionSettingsElement"
+ },
+ "description": "A collection of encryption settings, one for each disk volume."
+ },
+ "encryptionSettingsVersion": {
+ "type": "string",
+ "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "Encryption settings for disk or snapshot"
+ },
+ "EncryptionSettingsElement": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndSecretReference",
+ "description": "Key Vault Secret Url and vault id of the disk encryption key"
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key."
+ }
+ },
+ "description": "Encryption settings for one disk volume."
+ },
+ "KeyVaultAndSecretReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "secretUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Secret Url and vault id of the encryption key "
+ },
+ "KeyVaultAndKeyReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "keyUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey"
+ },
+ "SourceVault": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"
+ },
+ "Encryption": {
+ "properties": {
+ "diskEncryptionSetId": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithPlatformKey",
+ "EncryptionAtRestWithCustomerKey"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "EncryptionAtRestWithPlatformKey",
+ "description": "Disk is encrypted with XStore managed key at rest. It is the default encryption type."
+ },
+ {
+ "value": "EncryptionAtRestWithCustomerKey",
+ "description": "Disk is encrypted with Customer managed key at rest."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Encryption at rest settings for disk or snapshot"
+ },
+ "DiskUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskIOPSReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadOnly": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "maxShares": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "description": "Disk resource update properties."
+ },
+ "SnapshotUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ }
+ },
+ "description": "Snapshot resource update properties."
+ },
+ "DiskEncryptionSetUpdateProperties": {
+ "properties": {
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ }
+ },
+ "description": "disk encryption set resource update properties."
+ },
+ "CreationData": {
+ "properties": {
+ "createOption": {
+ "type": "string",
+ "enum": [
+ "Empty",
+ "Attach",
+ "FromImage",
+ "Import",
+ "Copy",
+ "Restore",
+ "Upload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOption",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Empty",
+ "description": "Create an empty data disk of a size given by diskSizeGB."
+ },
+ {
+ "value": "Attach",
+ "description": "Disk will be attached to a VM."
+ },
+ {
+ "value": "FromImage",
+ "description": "Create a new disk from a platform image specified by the given imageReference or galleryImageReference."
+ },
+ {
+ "value": "Import",
+ "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId."
+ },
+ {
+ "value": "Copy",
+ "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId."
+ },
+ {
+ "value": "Restore",
+ "description": "Create a new disk by copying from a backup recovery point."
+ },
+ {
+ "value": "Upload",
+ "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk."
+ }
+ ]
+ },
+ "description": "This enumerates the possible sources of a disk's creation."
+ },
+ "storageAccountId": {
+ "type": "string",
+ "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk."
+ },
+ "imageReference": {
+ "$ref": "#/definitions/ImageDiskReference",
+ "description": "Disk source information."
+ },
+ "galleryImageReference": {
+ "$ref": "#/definitions/ImageDiskReference",
+ "description": "Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk."
+ },
+ "sourceUri": {
+ "type": "string",
+ "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk."
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk."
+ },
+ "sourceUniqueId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "If this field is set, this is the unique id identifying the source of this resource."
+ },
+ "uploadSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)."
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Data used when creating a disk."
+ },
+ "ImageDiskReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A relative uri containing either a Platform Image Repository or user image reference."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The source image used for creating the disk."
+ },
+ "GrantAccessData": {
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Read",
+ "Write"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Time duration in seconds until the SAS access expires."
+ }
+ },
+ "required": [
+ "access",
+ "durationInSeconds"
+ ],
+ "description": "Data used for requesting a SAS."
+ },
+ "AccessUri": {
+ "properties": {
+ "accessSAS": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A SAS uri for accessing a disk."
+ }
+ },
+ "description": "A disk access SAS uri."
+ },
+ "Snapshot": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unused. Always Null."
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Snapshot resource."
+ },
+ "SnapshotUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ }
+ },
+ "description": "Snapshot update resource."
+ },
+ "SnapshotList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "A list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Snapshots operation response."
+ },
+ "EncryptionSetIdentity": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionSetIdentityType",
+ "modelAsString": true
+ },
+ "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ }
+ },
+ "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks."
+ },
+ "DiskEncryptionSet": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EncryptionSetIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EncryptionSetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk encryption set resource."
+ },
+ "DiskEncryptionSetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskEncryptionSetUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "disk encryption set update resource."
+ },
+ "DiskEncryptionSetList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "A list of disk encryption sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk encryption set operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskNameParameter": {
+ "name": "diskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotNameParameter": {
+ "name": "snapshotName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskEncryptionSetNameParameter": {
+ "name": "diskEncryptionSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateADiskEncryptionSet.json
new file mode 100644
index 000000000000..6437c2734412
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateADiskEncryptionSet.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..c34fc3a85db9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..68ac119c120f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..8dac6f08fd58
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..79c2165e44bb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..410ba9f41009
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk2",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedUploadDisk.json
new file mode 100644
index 000000000000..91b21647a48a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAManagedUploadDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..a3e6750b826c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..c89cf3061213
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..ff94a631146e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "snapshotName": "mySnapshot2",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..fba2115ec9b9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/DeleteADiskEncryptionSet.json
new file mode 100644
index 000000000000..ffe169310fed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/DeleteADiskEncryptionSet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutADiskEncryptionSet.json
new file mode 100644
index 000000000000..02cf00bb194a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutADiskEncryptionSet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..f6e56f00f6f0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec",
+ "sku": {
+ "name": "Standard_LRS"
+ },
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..2854ea508919
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 100,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListDiskEncryptionSetsInAResourceGroup.json
new file mode 100644
index 000000000000..ec520acbd908
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListDiskEncryptionSetsInAResourceGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSet?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListDiskEncryptionSetsInASubscription.json
new file mode 100644
index 000000000000..e8aa18a02c6b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListDiskEncryptionSetsInASubscription.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSet",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSet?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..dfee771cdfd8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..d56273c7d8e9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..ac03ba461979
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..6a2ab66bddec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.6630569+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1",
+ "name": "mySnapshot1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.3247198+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2",
+ "name": "mySnapshot2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/UpdateADiskEncryptionSet.json
new file mode 100644
index 000000000000..a0f618e3105c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-11-01/examples/UpdateADiskEncryptionSet.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-11-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGallery.json
new file mode 100644
index 000000000000..993975f6205b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGallery.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..4dfa3e257e19
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryApplication.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..c7c9061bc098
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..367cbff579db
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImage.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..e6607e9bbcab
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,221 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..cff6aa44899d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,226 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet",
+ "lun": 1
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "hostCaching": "None"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGallery.json
new file mode 100644
index 000000000000..a8fff6585abe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGallery.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryApplication.json
new file mode 100644
index 000000000000..b6de700f84fe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryApplication.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..9cd987c188bc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryApplicationVersion.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryImage.json
new file mode 100644
index 000000000000..e79a5131e9bd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryImage.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryImageVersion.json
new file mode 100644
index 000000000000..e06069676a4a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/DeleteAGalleryImageVersion.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGallery.json
new file mode 100644
index 000000000000..ea90a2062fc0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGallery.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplication.json
new file mode 100644
index 000000000000..443197878215
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplication.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..e67c354802c8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplicationVersion.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplicationVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..0d4fedb679f3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "$expand": "ReplicationStatus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "replicationStatus": {
+ "aggregatedState": "Completed",
+ "summary": [
+ {
+ "region": "West US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImage.json
new file mode 100644
index 000000000000..34ef297d14b5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImage.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersion.json
new file mode 100644
index 000000000000..cb8f4781774a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersion.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..867930b33225
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersionWithReplicationStatus.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "$expand": "ReplicationStatus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "replicationStatus": {
+ "aggregatedState": "Completed",
+ "summary": [
+ {
+ "region": "West US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ },
+ {
+ "region": "East US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..34dd25885261
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}",
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleriesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleriesInAResourceGroup.json
new file mode 100644
index 000000000000..45053dca9f63
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleriesInAResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleriesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleriesInASubscription.json
new file mode 100644
index 000000000000..ae4701072e57
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleriesInASubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryApplicationVersionsInAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
new file mode 100644
index 000000000000..12684f333fcc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName/versions/myGalleryApplicationVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryApplicationsInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryApplicationsInAGallery.json
new file mode 100644
index 000000000000..dd7120df5a7b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryApplicationsInAGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryImageVersionsInAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryImageVersionsInAGalleryImage.json
new file mode 100644
index 000000000000..4962d95e27e7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryImageVersionsInAGalleryImage.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName/versions/myGalleryImageVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryImagesInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryImagesInAGallery.json
new file mode 100644
index 000000000000..2e8b08fd9c05
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/ListGalleryImagesInAGallery.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGallery.json
new file mode 100644
index 000000000000..79341fe8e3f6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..d94449fb7e80
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryApplication.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..ddcdf19710ec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..9df9cc02deeb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryImage.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..e29d3f63255a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/UpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json
new file mode 100644
index 000000000000..2e11d82e5ebe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/gallery.json
@@ -0,0 +1,2651 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SharedImageGalleryServiceClient",
+ "description": "Shared Image Gallery Service Client.",
+ "version": "2019-12-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}": {
+ "put": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_CreateOrUpdate",
+ "description": "Create or update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ },
+ "description": "Parameters supplied to the create or update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGallery.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Update",
+ "description": "Update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryUpdate"
+ },
+ "description": "Parameters supplied to the update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery.": {
+ "$ref": "./examples/UpdateASimpleGallery.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Get",
+ "description": "Retrieves information about a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetAGallery.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Delete",
+ "description": "Delete a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery.": {
+ "$ref": "./examples/DeleteAGallery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}": {
+ "put": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_CreateOrUpdate",
+ "description": "Create or update a gallery Image Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be created."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ },
+ "description": "Parameters supplied to the create or update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery image.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Update",
+ "description": "Update a gallery Image Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be updated."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageUpdate"
+ },
+ "description": "Parameters supplied to the update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery image.": {
+ "$ref": "./examples/UpdateASimpleGalleryImage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Get",
+ "description": "Retrieves information about a gallery Image Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery from which the Image Definitions are to be retrieved."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition to be retrieved."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery image.": {
+ "$ref": "./examples/GetAGalleryImage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Delete",
+ "description": "Delete a gallery image.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be deleted."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery image.": {
+ "$ref": "./examples/DeleteAGalleryImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": {
+ "put": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_CreateOrUpdate",
+ "description": "Create or update a gallery Image Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition in which the Image Version is to be created."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImageVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ },
+ "description": "Parameters supplied to the create or update gallery Image Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple Gallery Image Version (Managed Image as source).": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersion.json"
+ },
+ "Create or update a simple Gallery Image Version using snapshots as a source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Update",
+ "description": "Update a gallery Image Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition in which the Image Version is to be updated."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImageVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersionUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Image Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple Gallery Image Version (Managed Image as source).": {
+ "$ref": "./examples/UpdateASimpleGalleryImageVersion.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Get",
+ "description": "Retrieves information about a gallery Image Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition in which the Image Version resides."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Version to be retrieved."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "ReplicationStatus"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationStatusTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery Image Version.": {
+ "$ref": "./examples/GetAGalleryImageVersion.json"
+ },
+ "Get a gallery Image Version with replication status.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithReplicationStatus.json"
+ },
+ "Get a gallery Image Version with snapshots as a source.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithSnapshotsAsSource.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Delete",
+ "description": "Delete a gallery Image Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Definition in which the Image Version resides."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Image Version to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery Image Version.": {
+ "$ref": "./examples/DeleteAGalleryImageVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}": {
+ "put": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_CreateOrUpdate",
+ "description": "Create or update a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be created."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplication",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ },
+ "description": "Parameters supplied to the create or update gallery Application operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery Application.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryApplication.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Update",
+ "description": "Update a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be updated."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplication",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Application operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery Application.": {
+ "$ref": "./examples/UpdateASimpleGalleryApplication.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Get",
+ "description": "Retrieves information about a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery from which the Application Definitions are to be retrieved."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be retrieved."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplication"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery Application.": {
+ "$ref": "./examples/GetAGalleryApplication.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_Delete",
+ "description": "Delete a gallery Application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition is to be deleted."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery Application.": {
+ "$ref": "./examples/DeleteAGalleryApplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}": {
+ "put": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_CreateOrUpdate",
+ "description": "Create or update a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version is to be created."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplicationVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ },
+ "description": "Parameters supplied to the create or update gallery Application Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery Application Version.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryApplicationVersion.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Update",
+ "description": "Update a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version is to be updated."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryApplicationVersion",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersionUpdate"
+ },
+ "description": "Parameters supplied to the update gallery Application Version operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery Application Version.": {
+ "$ref": "./examples/UpdateASimpleGalleryApplicationVersion.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Get",
+ "description": "Retrieves information about a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version resides."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be retrieved."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "ReplicationStatus"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationStatusTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery Application Version.": {
+ "$ref": "./examples/GetAGalleryApplicationVersion.json"
+ },
+ "Get a gallery Application Version with replication status.": {
+ "$ref": "./examples/GetAGalleryApplicationVersionWithReplicationStatus.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_Delete",
+ "description": "Delete a gallery Application Version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Definition in which the Application Version resides."
+ },
+ {
+ "name": "galleryApplicationVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery Application Version to be deleted."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a gallery Application Version.": {
+ "$ref": "./examples/DeleteAGalleryApplicationVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries": {
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_ListByResourceGroup",
+ "description": "List galleries under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List galleries in a resource group.": {
+ "$ref": "./examples/ListGalleriesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries": {
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_List",
+ "description": "List galleries under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List galleries in a subscription.": {
+ "$ref": "./examples/ListGalleriesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images": {
+ "get": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_ListByGallery",
+ "description": "List gallery Image Definitions in a gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery from which Image Definitions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery images in a gallery.": {
+ "$ref": "./examples/ListGalleryImagesInAGallery.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions": {
+ "get": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_ListByGalleryImage",
+ "description": "List gallery Image Versions in a gallery Image Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery Image Definition from which the Image Versions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery Image Versions in a gallery Image Definition.": {
+ "$ref": "./examples/ListGalleryImageVersionsInAGalleryImage.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications": {
+ "get": {
+ "tags": [
+ "GalleryApplications"
+ ],
+ "operationId": "GalleryApplications_ListByGallery",
+ "description": "List gallery Application Definitions in a gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery from which Application Definitions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery Applications in a gallery.": {
+ "$ref": "./examples/ListGalleryApplicationsInAGallery.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions": {
+ "get": {
+ "tags": [
+ "GalleryApplicationVersions"
+ ],
+ "operationId": "GalleryApplicationVersions_ListByGalleryApplication",
+ "description": "List gallery Application Versions in a gallery Application Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery in which the Application Definition resides."
+ },
+ {
+ "name": "galleryApplicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Application Gallery Application Definition from which the Application Versions are to be listed."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryApplicationVersionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List gallery Application Versions in a gallery Application Definition.": {
+ "$ref": "./examples/ListGalleryApplicationVersionsInAGalleryApplication.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Gallery": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the Shared Image Gallery that you want to create or update."
+ },
+ "GalleryUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the Shared Image Gallery that you want to update."
+ },
+ "GalleryProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of this Shared Image Gallery resource. This property is updatable."
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryIdentifier"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ }
+ },
+ "description": "Describes the properties of a Shared Image Gallery."
+ },
+ "GalleryIdentifier": {
+ "properties": {
+ "uniqueName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique name of the Shared Image Gallery. This name is generated automatically by Azure."
+ }
+ },
+ "description": "Describes the gallery unique name."
+ },
+ "GalleryApplication": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Definition that you want to create or update."
+ },
+ "GalleryApplicationUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Definition that you want to update."
+ },
+ "GalleryApplicationProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of this gallery Application Definition resource. This property is updatable."
+ },
+ "eula": {
+ "type": "string",
+ "description": "The Eula agreement for the gallery Application Definition."
+ },
+ "privacyStatementUri": {
+ "type": "string",
+ "description": "The privacy statement uri."
+ },
+ "releaseNoteUri": {
+ "type": "string",
+ "description": "The release note uri."
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "supportedOSType": {
+ "type": "string",
+ "description": "This property allows you to specify the supported type of the OS that application is built for.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "supportedOSType"
+ ],
+ "description": "Describes the properties of a gallery Application Definition."
+ },
+ "GalleryApplicationVersion": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Version that you want to create or update."
+ },
+ "GalleryApplicationVersionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryApplicationVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery Application Version that you want to update."
+ },
+ "GalleryApplicationVersionProperties": {
+ "properties": {
+ "publishingProfile": {
+ "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery Application Version.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ },
+ "replicationStatus": {
+ "readOnly": true,
+ "$ref": "#/definitions/ReplicationStatus"
+ }
+ },
+ "required": [
+ "publishingProfile"
+ ],
+ "description": "Describes the properties of a gallery Image Version."
+ },
+ "GalleryApplicationVersionPublishingProfile": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/UserArtifactSource"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc."
+ },
+ "enableHealthCheck": {
+ "type": "boolean",
+ "description": "Optional. Whether or not this application reports health."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GalleryArtifactPublishingProfileBase"
+ }
+ ],
+ "required": [
+ "source"
+ ],
+ "description": "The publishing profile of a gallery Image Version."
+ },
+ "UserArtifactSource": {
+ "properties": {
+ "fileName": {
+ "type": "string",
+ "description": "Required. The fileName of the artifact."
+ },
+ "mediaLink": {
+ "type": "string",
+ "description": "Required. The mediaLink of the artifact, must be a readable storage blob."
+ }
+ },
+ "required": [
+ "fileName",
+ "mediaLink"
+ ],
+ "description": "The source image from which the Image Version is going to be created."
+ },
+ "GalleryImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the gallery Image Definition that you want to create or update."
+ },
+ "GalleryImageUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResourceDefinition"
+ }
+ ],
+ "description": "Specifies information about the gallery Image Definition that you want to update."
+ },
+ "GalleryImageProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of this gallery Image Definition resource. This property is updatable."
+ },
+ "eula": {
+ "type": "string",
+ "description": "The Eula agreement for the gallery Image Definition."
+ },
+ "privacyStatementUri": {
+ "type": "string",
+ "description": "The privacy statement uri."
+ },
+ "releaseNoteUri": {
+ "type": "string",
+ "description": "The release note uri."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
+ "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
},
{
"name": "$expand",
"in": "query",
"required": false,
"type": "string",
- "description": "The $expand query parameter. You can expand createdTime and changedTime. For example, to expand both properties, use $expand=changedTime,createdTime"
+ "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`."
},
{
"name": "$top",
@@ -2633,14 +2633,14 @@
"in": "query",
"required": false,
"type": "string",
- "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
+ "description": "The filter to apply on the operation.
The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'
You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.
For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)
You can link more than one substringof together by adding and/or operators.
You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.
You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId."
},
{
"name": "$expand",
"in": "query",
"required": false,
"type": "string",
- "description": "The $expand query parameter. You can expand createdTime and changedTime. For example, to expand both properties, use $expand=changedTime,createdTime"
+ "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`."
},
{
"name": "$top",
@@ -3314,7 +3314,8 @@
"Tags"
],
"operationId": "Tags_DeleteValue",
- "description": "Deletes a tag value.",
+ "summary": "Deletes a predefined tag value for a predefined tag name.",
+ "description": "This operation allows deleting a value from the list of predefined values for an existing predefined tag name. The value being deleted must not be in use as a tag value for the given tag name for any resource.",
"parameters": [
{
"name": "tagName",
@@ -3339,10 +3340,10 @@
],
"responses": {
"200": {
- "description": "OK"
+ "description": "Predefined tag value successfully deleted."
},
"204": {
- "description": "No Content"
+ "description": "Predefined tag value did not exist."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -3357,7 +3358,8 @@
"Tags"
],
"operationId": "Tags_CreateOrUpdateValue",
- "description": "Creates a tag value. The name of the tag must already exist.",
+ "summary": "Creates a predefined value for a predefined tag name.",
+ "description": "This operation allows adding a value to the list of predefined values for an existing predefined tag name. A tag value can have a maximum of 256 characters.",
"parameters": [
{
"name": "tagName",
@@ -3382,13 +3384,13 @@
],
"responses": {
"200": {
- "description": "OK - Returns information about the tag value.",
+ "description": "Predefined tag value already exists. Returns information about the predefined tag value.",
"schema": {
"$ref": "#/definitions/TagValue"
}
},
"201": {
- "description": "Created - Returns information about the tag value.",
+ "description": "Predefined tag value successfully created. Returns information about the predefined tag value.",
"schema": {
"$ref": "#/definitions/TagValue"
}
@@ -3408,8 +3410,8 @@
"Tags"
],
"operationId": "Tags_CreateOrUpdate",
- "summary": "Creates a tag in the subscription.",
- "description": "The tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes.",
+ "summary": "Creates a predefined tag name.",
+ "description": "This operation allows adding a name to the list of predefined tag names for the given subscription. A tag name can have a maximum of 512 characters and is case-insensitive. Tag names cannot have the following prefixes which are reserved for Azure use: 'microsoft', 'azure', 'windows'.",
"parameters": [
{
"name": "tagName",
@@ -3427,13 +3429,13 @@
],
"responses": {
"200": {
- "description": "OK - Returns information about the tag.",
+ "description": "Predefined tag name already exists. Returns information about the predefined tag name.",
"schema": {
"$ref": "#/definitions/TagDetails"
}
},
"201": {
- "description": "Created - Returns information about the tag.",
+ "description": "Predefined tag name successfully created. Returns information about the predefined tag name.",
"schema": {
"$ref": "#/definitions/TagDetails"
}
@@ -3451,8 +3453,8 @@
"Tags"
],
"operationId": "Tags_Delete",
- "summary": "Deletes a tag from the subscription.",
- "description": "You must remove all values from a resource tag before you can delete it.",
+ "summary": "Deletes a predefined tag name.",
+ "description": "This operation allows deleting a name from the list of predefined tag names for the given subscription. The name being deleted must not be in use as a tag name for any resource. All predefined values for the given name must have already been deleted.",
"parameters": [
{
"name": "tagName",
@@ -3470,10 +3472,10 @@
],
"responses": {
"200": {
- "description": "OK"
+ "description": "Predefined tag name successfully deleted."
},
"204": {
- "description": "No Content"
+ "description": "Predefined tag name did not exist."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -3490,7 +3492,8 @@
"Tags"
],
"operationId": "Tags_List",
- "description": "Gets the names and values of all resource tags that are defined in a subscription.",
+ "summary": "Gets a summary of tag usage under the subscription.",
+ "description": "This operation performs a union of predefined tags, resource tags, resource group tags and subscription tags, and returns a summary of usage for each tag name and value under the given subscription. In case of a large number of tags, this operation may return a previously cached result.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -4009,8 +4012,9 @@
"tags": [
"Tags"
],
- "operationId": "Tags_ResourceCreate",
- "description": "Create or Replace existing tags with passing in tags.",
+ "operationId": "Tags_CreateOrUpdateAtScope",
+ "summary": "Creates or updates the entire set of tags on a resource or subscription.",
+ "description": "This operation allows adding or replacing the entire set of tags on the specified resource or subscription. The specified entity can have a maximum of 50 tags.",
"parameters": [
{
"$ref": "#/parameters/ScopeParameter"
@@ -4024,13 +4028,12 @@
"required": true,
"schema": {
"$ref": "#/definitions/TagsResource"
- },
- "description": "Parameters for creating multiple tags."
+ }
}
],
"responses": {
"200": {
- "description": "OK - Returns added tag information about the resource.",
+ "description": "Tags updated successfully. Returns tags from the specified object.",
"schema": {
"$ref": "#/definitions/TagsResource"
}
@@ -4043,10 +4046,10 @@
}
},
"x-ms-examples": {
- "Creates multiple tags for a tracked resource.": {
+ "Update tags on a resource": {
"$ref": "./examples/PutTagsResource.json"
},
- "Create multiple tags for a subscription.": {
+ "Update tags on a subscription": {
"$ref": "./examples/PutTagsSubscription.json"
}
}
@@ -4055,8 +4058,9 @@
"tags": [
"Tags"
],
- "operationId": "Tags_ResourceUpdate",
- "description": "Update multiple tags: if the tagKey exists, update tagValue with the new value; if not, insert the new record.",
+ "operationId": "Tags_UpdateAtScope",
+ "summary": "Selectively updates the set of tags on a resource or subscription.",
+ "description": "This operation allows replacing, merging or selectively deleting tags on the specified resource or subscription. The specified entity can have a maximum of 50 tags at the end of the operation. The 'replace' option replaces the entire set of existing tags with a new set. The 'merge' option allows adding tags with new names and updating the values of tags with existing names. The 'delete' option allows selectively deleting tags based on given names or name/value pairs.",
"parameters": [
{
"$ref": "#/parameters/ScopeParameter"
@@ -4069,14 +4073,13 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/TagPatchRequest"
- },
- "description": "Parameters for updating multiple tags."
+ "$ref": "#/definitions/TagsPatchResource"
+ }
}
],
"responses": {
"200": {
- "description": "OK - Returns updated tag information about the resource.",
+ "description": "Tags updated successfully. Returns tags from the specified object.",
"schema": {
"$ref": "#/definitions/TagsResource"
}
@@ -4093,8 +4096,8 @@
"tags": [
"Tags"
],
- "operationId": "Tags_ResourceGet",
- "description": "Gets all the tags for the resource.",
+ "operationId": "Tags_GetAtScope",
+ "summary": "Gets the entire set of tags on a resource or subscription.",
"parameters": [
{
"$ref": "#/parameters/ScopeParameter"
@@ -4105,7 +4108,7 @@
],
"responses": {
"200": {
- "description": "OK - Returns tag information about the resource.",
+ "description": "Returns tags from the specified object.",
"schema": {
"$ref": "#/definitions/TagsResource"
}
@@ -4118,10 +4121,10 @@
}
},
"x-ms-examples": {
- "Gets all the tags for a tracked resource.": {
+ "Get tags on a resource": {
"$ref": "./examples/GetTagsResource.json"
},
- "Gets all the tags for a subscription.": {
+ "Get tags on a subscription": {
"$ref": "./examples/GetTagsSubscription.json"
}
}
@@ -4130,8 +4133,8 @@
"tags": [
"Tags"
],
- "operationId": "Tags_ResourceDelete",
- "description": "Deletes all the tags for the resource.",
+ "operationId": "Tags_DeleteAtScope",
+ "summary": "Deletes the entire set of tags on a resource or subscription.",
"parameters": [
{
"$ref": "#/parameters/ScopeParameter"
@@ -4142,7 +4145,7 @@
],
"responses": {
"200": {
- "description": "OK"
+ "description": "Tags successfully deleted."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -4288,6 +4291,13 @@
"properties": {
"$ref": "#/definitions/DeploymentProperties",
"description": "The deployment properties."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Deployment tags"
}
},
"required": [
@@ -4295,6 +4305,30 @@
],
"description": "Deployment operation parameters."
},
+ "ScopedDeployment": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location to store the deployment data."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentProperties",
+ "description": "The deployment properties."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Deployment tags"
+ }
+ },
+ "required": [
+ "location",
+ "properties"
+ ],
+ "description": "Deployment operation parameters."
+ },
"DeploymentExportResult": {
"properties": {
"template": {
@@ -4531,10 +4565,12 @@
"description": "The duration of the template deployment."
},
"outputs": {
+ "readOnly": true,
"type": "object",
"description": "Key/value pairs that represent deployment output."
},
"providers": {
+ "readOnly": true,
"type": "array",
"items": {
"$ref": "#/definitions/Provider"
@@ -4542,29 +4578,30 @@
"description": "The list of resource providers needed for the deployment."
},
"dependencies": {
+ "readOnly": true,
"type": "array",
"items": {
"$ref": "#/definitions/Dependency"
},
"description": "The list of deployment dependencies."
},
- "template": {
- "type": "object",
- "description": "The template content. Use only one of Template or TemplateLink."
- },
"templateLink": {
+ "readOnly": true,
"$ref": "#/definitions/TemplateLink",
- "description": "The URI referencing the template. Use only one of Template or TemplateLink."
+ "description": "The URI referencing the template."
},
"parameters": {
+ "readOnly": true,
"type": "object",
- "description": "Deployment parameters. Use only one of Parameters or ParametersLink."
+ "description": "Deployment parameters. "
},
"parametersLink": {
+ "readOnly": true,
"$ref": "#/definitions/ParametersLink",
- "description": "The URI referencing the parameters. Use only one of Parameters or ParametersLink."
+ "description": "The URI referencing the parameters. "
},
"mode": {
+ "readOnly": true,
"type": "string",
"description": "The deployment mode. Possible values are Incremental and Complete.",
"enum": [
@@ -4577,16 +4614,56 @@
}
},
"debugSetting": {
+ "readOnly": true,
"$ref": "#/definitions/DebugSetting",
"description": "The debug setting of the deployment."
},
"onErrorDeployment": {
+ "readOnly": true,
"$ref": "#/definitions/OnErrorDeploymentExtended",
"description": "The deployment on error behavior."
+ },
+ "templateHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hash produced for the template."
+ },
+ "outputResources": {
+ "readOnly": true,
+ "type": "array",
+ "description": "Array of provisioned resources.",
+ "items": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "Details of provisioned resources."
+ }
+ },
+ "validatedResources": {
+ "readOnly": true,
+ "type": "array",
+ "description": "Array of validated resources.",
+ "items": {
+ "$ref": "#/definitions/ResourceReference",
+ "description": "Details of validated resources."
+ }
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
+ "description": "The deployment error."
}
},
"description": "Deployment properties with additional details."
},
+ "ResourceReference": {
+ "description": "The resource Id model.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified resource Id."
+ }
+ }
+ },
"OnErrorDeployment": {
"properties": {
"type": {
@@ -4637,6 +4714,7 @@
"DeploymentValidateResult": {
"properties": {
"error": {
+ "readOnly": true,
"$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse",
"description": "The deployment validation error."
},
@@ -4671,6 +4749,13 @@
"properties": {
"$ref": "#/definitions/DeploymentPropertiesExtended",
"description": "Deployment properties."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Deployment tags"
}
},
"x-ms-azure-resource": true,
@@ -4745,6 +4830,33 @@
],
"description": "Resource information."
},
+ "GenericResourceExpanded": {
+ "properties": {
+ "createdTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The created time of the resource. This is only present if requested via the $expand query parameter."
+ },
+ "changedTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The changed time of the resource. This is only present if requested via the $expand query parameter."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource. This is only present if requested via the $expand query parameter."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/GenericResource"
+ }
+ ],
+ "description": "Resource information."
+ },
"Plan": {
"properties": {
"name": {
@@ -4853,7 +4965,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/GenericResource"
+ "$ref": "#/definitions/GenericResourceExpanded"
},
"description": "An array of resources."
},
@@ -5011,7 +5123,7 @@
"id": {
"readOnly": true,
"type": "string",
- "description": "The tag ID."
+ "description": "The tag value ID."
},
"tagValue": {
"type": "string",
@@ -5030,7 +5142,7 @@
"id": {
"readOnly": true,
"type": "string",
- "description": "The tag ID."
+ "description": "The tag name ID."
},
"tagName": {
"type": "string",
@@ -5048,6 +5160,7 @@
"description": "The list of tag values."
}
},
+ "x-ms-azure-resource": true,
"description": "Tag details."
},
"TagsListResult": {
@@ -5481,7 +5594,7 @@
}
},
"Tags": {
- "description": "key and value pairs for tags",
+ "description": "A dictionary of name and value pairs.",
"properties": {
"tags": {
"type": "object",
@@ -5492,13 +5605,13 @@
}
}
},
- "TagPatchRequest": {
+ "TagsPatchResource": {
"type": "object",
- "description": "Tag Request for Patch operation.",
+ "description": "Wrapper resource for tags patch API request only.",
"properties": {
"operation": {
"type": "string",
- "description": "The operation type for the patch api.",
+ "description": "The operation type for the patch API.",
"enum": [
"Replace",
"Merge",
@@ -5507,27 +5620,38 @@
},
"properties": {
"$ref": "#/definitions/Tags",
- "description": "tags object passing in the request."
+ "description": "The set of tags."
}
}
},
"TagsResource": {
"type": "object",
- "description": "Tags for the resource.",
+ "description": "Wrapper resource for tags API requests and responses.",
"required": [
"properties"
],
"properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the tags wrapper resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the tags wrapper resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the tags wrapper resource."
+ },
"properties": {
"$ref": "#/definitions/Tags",
- "description": "tags property."
+ "description": "The set of tags."
}
},
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
- }
- ]
+ "x-ms-azure-resource": true
}
},
"parameters": {
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetLocations.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetLocations.json
new file mode 100644
index 000000000000..2d23bcd8363e
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetLocations.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/centralus",
+ "name": "centralus",
+ "displayName": "Central US",
+ "regionalDisplayName": "(US) Central US",
+ "metadata": {
+ "regionType": "Physical",
+ "regionCategory": "Recommended",
+ "geographyGroup": "US",
+ "longitude": "-93.6208",
+ "latitude": "41.5908",
+ "physicalLocation": "Iowa",
+ "pairedRegion": [
+ {
+ "name": "eastus2",
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/eastus2"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/eastasia",
+ "name": "eastasia",
+ "displayName": "East Asia",
+ "regionalDisplayName": "(Asia Pacific) East Asia",
+ "metadata": {
+ "regionType": "Physical",
+ "regionCategory": "Recommended",
+ "geographyGroup": "Asia Pacific",
+ "longitude": "114.188",
+ "latitude": "22.267",
+ "physicalLocation": "Hong Kong",
+ "pairedRegion": [
+ {
+ "name": "southeastasia",
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05/locations/southeastasia"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscription.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscription.json
new file mode 100644
index 000000000000..8cfe1e927c77
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "tenantId": "31c75423-32d6-4322-88b7-c478bdde4858",
+ "displayName": "Example Subscription",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ },
+ "authorizationSource": "Bypassed",
+ "managedByTenants": [
+ {
+ "tenantId": "8f70baf1-1f6e-46a2-a1ff-238dac1ebfb7"
+ }
+ ],
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscriptions.json
new file mode 100644
index 000000000000..af57fe5468bf
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/GetSubscriptions.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "subscriptionId": "291bba3f-e0a5-47bc-a099-3bdcb2a50a05",
+ "tenantId": "31c75423-32d6-4322-88b7-c478bdde4858",
+ "displayName": "Example Subscription",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ },
+ "authorizationSource": "RoleBased",
+ "managedByTenants": [
+ {
+ "tenantId": "8f70baf1-1f6e-46a2-a1ff-238dac1ebfb7"
+ }
+ ],
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ },
+ {
+ "id": "/subscriptions/72ac930a-f34e-42d8-b06d-dc2a9e12ed71",
+ "subscriptionId": "72ac930a-f34e-42d8-b06d-dc2a9e12ed71",
+ "tenantId": "2a0ff0de-96b2-4859-bb7c-a430d07a3e0c",
+ "displayName": "Example Subscription2",
+ "state": "Enabled",
+ "subscriptionPolicies": {
+ "locationPlacementId": "Internal_2014-09-01",
+ "quotaId": "Internal_2014-09-01",
+ "spendingLimit": "Off"
+ },
+ "authorizationSource": "RoleBased",
+ "managedByTenants": [
+ {
+ "tenantId": "8f70baf1-1f6e-46a2-a1ff-238dac1ebfb7"
+ },
+ {
+ "tenantId": "f7fb6af2-321d-47c8-9c0f-b0239eaad39a"
+ }
+ ],
+ "tags": {
+ "tagKey1": "tagValue1",
+ "tagKey2": "tagValue2"
+ }
+ }
+ ],
+ "nextLink": "..."
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json
new file mode 100644
index 000000000000..a10bc931ed11
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json
@@ -0,0 +1,567 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SubscriptionClient",
+ "version": "2019-11-01",
+ "description": "All resource groups and resources exist within subscriptions. These operation enable you get information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your organization."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.Resources/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available Microsoft.Resources REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/locations": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_ListLocations",
+ "summary": "Gets all available geo-locations.",
+ "description": "This operation provides all the locations that are available for resource providers; however, each resource provider may support a subset of this list.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of locations.",
+ "schema": {
+ "$ref": "#/definitions/LocationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get locations with a subscription id": {
+ "$ref": "./examples/GetLocations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_Get",
+ "description": "Gets details about a specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the subscription.",
+ "schema": {
+ "$ref": "#/definitions/Subscription"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a single subscription.": {
+ "$ref": "./examples/GetSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions": {
+ "get": {
+ "tags": [
+ "Subscriptions"
+ ],
+ "operationId": "Subscriptions_List",
+ "description": "Gets all subscriptions for a tenant.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of subscriptions.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get all subscriptions.": {
+ "$ref": "./examples/GetSubscriptions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/tenants": {
+ "get": {
+ "tags": [
+ "Tenants"
+ ],
+ "operationId": "Tenants_List",
+ "description": "Gets the tenants for your account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of tenants.",
+ "schema": {
+ "$ref": "#/definitions/TenantListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PairedRegion": {
+ "description": "Information regarding paired region.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the paired region."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus."
+ },
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription ID."
+ }
+ }
+ },
+ "LocationMetadata": {
+ "description": "Location metadata information",
+ "properties": {
+ "regionType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the region.",
+ "enum": [
+ "Physical",
+ "Logical"
+ ],
+ "x-ms-enum": {
+ "name": "RegionType",
+ "modelAsString": true
+ }
+ },
+ "regionCategory": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The category of the region.",
+ "enum": [
+ "Recommended",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "RegionCategory",
+ "modelAsString": true
+ }
+ },
+ "geographyGroup": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The geography group of the location."
+ },
+ "longitude": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The longitude of the location."
+ },
+ "latitude": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The latitude of the location."
+ },
+ "physicalLocation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The physical location of the Azure location."
+ },
+ "pairedRegion": {
+ "type": "array",
+ "description": "The regions paired to this region.",
+ "items": {
+ "$ref": "#/definitions/PairedRegion"
+ }
+ }
+ }
+ },
+ "Location": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus."
+ },
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location name."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The display name of the location."
+ },
+ "regionalDisplayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The display name of the location and its region."
+ },
+ "metadata": {
+ "description": "Metadata of the location, such as lat/long, paired region, and others.",
+ "$ref": "#/definitions/LocationMetadata"
+ }
+ },
+ "description": "Location information."
+ },
+ "LocationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Location"
+ },
+ "description": "An array of locations."
+ }
+ },
+ "description": "Location list operation response."
+ },
+ "Subscription": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID for the subscription. For example, /subscriptions/00000000-0000-0000-0000-000000000000."
+ },
+ "subscriptionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription ID."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription display name."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription tenant ID."
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.",
+ "enum": [
+ "Enabled",
+ "Warned",
+ "PastDue",
+ "Disabled",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "subscriptionPolicies": {
+ "$ref": "#/definitions/SubscriptionPolicies",
+ "description": "The subscription policies."
+ },
+ "authorizationSource": {
+ "type": "string",
+ "description": "The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, RoleBased'."
+ },
+ "managedByTenants": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedByTenant"
+ },
+ "description": "An array containing the tenants managing the subscription."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "The additional properties. "
+ },
+ "description": "The tags attached to the subscription."
+ }
+ },
+ "description": "Subscription information."
+ },
+ "SubscriptionPolicies": {
+ "properties": {
+ "locationPlacementId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription location placement ID. The ID indicates which regions are visible for a subscription. For example, a subscription with a location placement Id of Public_2014-09-01 has access to Azure public regions."
+ },
+ "quotaId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription quota ID."
+ },
+ "spendingLimit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The subscription spending limit.",
+ "enum": [
+ "On",
+ "Off",
+ "CurrentPeriodOff"
+ ],
+ "x-ms-enum": {
+ "name": "spendingLimit",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Subscription policies."
+ },
+ "ManagedByTenant": {
+ "properties": {
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of the managing tenant. This is a GUID."
+ }
+ },
+ "description": "Information about a tenant managing the subscription."
+ },
+ "SubscriptionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subscription"
+ },
+ "description": "An array of subscriptions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "required": [
+ "nextLink"
+ ],
+ "description": "Subscription list operation response."
+ },
+ "TenantIdDescription": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The fully qualified ID of the tenant. For example, /tenants/00000000-0000-0000-0000-000000000000."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID. For example, 00000000-0000-0000-0000-000000000000."
+ },
+ "tenantCategory": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Category of the tenant.",
+ "enum": [
+ "Home",
+ "ProjectedBy",
+ "ManagedBy"
+ ],
+ "x-ms-enum": {
+ "name": "TenantCategory",
+ "modelAsString": false
+ }
+ },
+ "country": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Country/region name of the address for the tenant."
+ },
+ "countryCode": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Country/region abbreviation for the tenant."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The display name of the tenant."
+ },
+ "domains": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The domain name for a tenant."
+ },
+ "description": "The list of domains for the tenant."
+ }
+ },
+ "description": "Tenant Id information."
+ },
+ "TenantListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TenantIdDescription"
+ },
+ "description": "An array of tenants."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "required": [
+ "nextLink"
+ ],
+ "description": "Tenant Ids information."
+ },
+ "Operation": {
+ "description": "Microsoft.Resources 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.Resources",
+ "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 the operation.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Microsoft.Resources 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 Microsoft.Resources operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the operation.",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json
index 6c299e441e7e..8b4ef39435d0 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/createOrUpdateApplicationDefinition.json
@@ -30,7 +30,6 @@
"location": "East US 2",
"managedBy": null,
"tags": null,
- "identity": null,
"sku": null,
"properties": {
"artifacts": [
@@ -40,7 +39,7 @@
"uri": "https://path/to/managedApplicationCreateUiDefinition.json"
},
{
- "name": "ManagedApplicationResourceTemplate",
+ "name": "ApplicationResourceTemplate",
"type": "Template",
"uri": "https://path/to/mainTemplate.json"
}
@@ -67,7 +66,6 @@
"location": "East US 2",
"managedBy": null,
"tags": null,
- "identity": null,
"sku": null,
"properties": {
"artifacts": [
@@ -77,7 +75,7 @@
"uri": "https://path/to/managedApplicationCreateUiDefinition.json"
},
{
- "name": "ManagedApplicationResourceTemplate",
+ "name": "ApplicationResourceTemplate",
"type": "Template",
"uri": "https://path/to/mainTemplate.json"
}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json
index 70f0092ab6ed..d47cbf060e59 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplication.json
@@ -24,7 +24,30 @@
"managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
"outputs": null,
"parameters": null,
- "provisioningState": "Created"
+ "provisioningState": "Created",
+ "billingDetails": null,
+ "jitAccessPolicy": null,
+ "publisherTenantId": null,
+ "authorizations": [
+ {
+ "principalId": "validprincipalguid",
+ "roleDefinitionId": "validroleguid"
+ }
+ ],
+ "managementMode": "Managed",
+ "customerSupport": null,
+ "supportUrls": null,
+ "artifacts": [],
+ "createdBy": {
+ "oid": "ClientOid",
+ "puid": "ClientPuid",
+ "applicationId": "ClientApplicationId"
+ },
+ "updatedBy": {
+ "oid": "ClientOid",
+ "puid": "ClientPuid",
+ "applicationId": "ClientApplicationId"
+ }
}
}
}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json
index 1fb0ef91f4ba..2b3b9fc39618 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/getApplicationDefinition.json
@@ -15,7 +15,6 @@
"location": "East US 2",
"managedBy": null,
"tags": null,
- "identity": null,
"sku": null,
"properties": {
"artifacts": [
@@ -25,7 +24,7 @@
"uri": "https://path/to/managedApplicationCreateUiDefinition.json"
},
{
- "name": "ManagedApplicationResourceTemplate",
+ "name": "ApplicationResourceTemplate",
"type": "Template",
"uri": "https://path/to/mainTemplate.json"
}
@@ -39,7 +38,12 @@
"description": "myManagedApplicationDef description",
"displayName": "myManagedApplicationDef",
"lockLevel": "None",
- "packageFileUri": "https://path/to/packagezipfile"
+ "packageFileUri": "https://path/to/packagezipfile",
+ "notificationPolicy": null,
+ "lockingPolicy": null,
+ "deploymentPolicy": null,
+ "managementPolicy": null,
+ "policies": []
}
}
}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json
index 4ff473cafdd1..3a0f627edcab 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/examples/listApplicationDefinitionsByResourceGroup.json
@@ -16,7 +16,6 @@
"location": "East US 2",
"managedBy": null,
"tags": null,
- "identity": null,
"sku": null,
"properties": {
"artifacts": [
@@ -26,7 +25,7 @@
"uri": "https://path/to/managedApplicationCreateUiDefinition.json"
},
{
- "name": "ManagedApplicationResourceTemplate",
+ "name": "ApplicationResourceTemplate",
"type": "Template",
"uri": "https://path/to/mainTemplate.json"
}
@@ -50,7 +49,6 @@
"location": "West US",
"managedBy": null,
"tags": null,
- "identity": null,
"sku": null,
"properties": {
"artifacts": [
@@ -60,7 +58,7 @@
"uri": "https://path/to/managedApplicationCreateUiDefinition.json"
},
{
- "name": "ManagedApplicationResourceTemplate",
+ "name": "ApplicationResourceTemplate",
"type": "Template",
"uri": "https://path/to/mainTemplate.json"
}
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json
index 31f407693f02..82d30ad10387 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2019-07-01/managedapplications.json
@@ -1238,6 +1238,10 @@
"type": "string",
"description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.",
"pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
}
},
"required": [
@@ -1266,6 +1270,10 @@
"type": "string",
"description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.",
"pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
}
},
"allOf": [
@@ -1316,11 +1324,63 @@
"readOnly": true,
"$ref": "#/definitions/ProvisioningState",
"description": "The managed application provisioning state."
+ },
+ "billingDetails": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationBillingDetailsDefinition",
+ "description": "The managed application billing details."
+ },
+ "jitAccessPolicy": {
+ "$ref": "#/definitions/ApplicationJitAccessPolicy",
+ "description": "The managed application Jit access policy."
+ },
+ "publisherTenantId": {
+ "type": "string",
+ "description": "The publisher tenant Id.",
+ "readOnly": true
+ },
+ "authorizations": {
+ "description": "The read-only authorizations property that is retrieved from the application package.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationAuthorization"
+ },
+ "readOnly": true
+ },
+ "managementMode": {
+ "$ref": "#/definitions/ApplicationManagementMode",
+ "description": "The managed application management mode.",
+ "readOnly": true
+ },
+ "customerSupport": {
+ "$ref": "#/definitions/ApplicationPackageContact",
+ "description": "The read-only customer support property that is retrieved from the application package.",
+ "readOnly": true
+ },
+ "supportUrls": {
+ "$ref": "#/definitions/ApplicationPackageSupportUrls",
+ "description": "The read-only support URLs property that is retrieved from the application package.",
+ "readOnly": true
+ },
+ "artifacts": {
+ "description": "The collection of managed application artifacts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationArtifact"
+ },
+ "readOnly": true
+ },
+ "createdBy": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationClientDetails",
+ "description": "The client entity that created the JIT request."
+ },
+ "updatedBy": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApplicationClientDetails",
+ "description": "The client entity that last updated the JIT request."
}
},
- "required": [
- "managedResourceGroupId"
- ],
"description": "The managed application properties."
},
"ApplicationPropertiesPatchable": {
@@ -1361,21 +1421,21 @@
"description": "The managed application definition display name."
},
"isEnabled": {
- "type": "string",
+ "type": "boolean",
"description": "A value indicating whether the package is enabled or not."
},
"authorizations": {
"description": "The managed application provider authorizations.",
"type": "array",
"items": {
- "$ref": "#/definitions/ApplicationProviderAuthorization"
+ "$ref": "#/definitions/ApplicationAuthorization"
}
},
"artifacts": {
"description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition.",
"type": "array",
"items": {
- "$ref": "#/definitions/ApplicationArtifact"
+ "$ref": "#/definitions/ApplicationDefinitionArtifact"
}
},
"description": {
@@ -1393,11 +1453,33 @@
"createUiDefinition": {
"type": "object",
"description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string."
+ },
+ "notificationPolicy": {
+ "$ref": "#/definitions/ApplicationNotificationPolicy",
+ "description": "The managed application notification policy."
+ },
+ "lockingPolicy": {
+ "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition",
+ "description": "The managed application locking policy."
+ },
+ "deploymentPolicy": {
+ "$ref": "#/definitions/ApplicationDeploymentPolicy",
+ "description": "The managed application deployment policy."
+ },
+ "managementPolicy": {
+ "$ref": "#/definitions/ApplicationManagementPolicy",
+ "description": "The managed application management policy that determines publisher's access to the managed resource group."
+ },
+ "policies": {
+ "description": "The managed application provider policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPolicy"
+ }
}
},
"required": [
- "lockLevel",
- "authorizations"
+ "lockLevel"
],
"description": "The managed application definition properties."
},
@@ -1466,10 +1548,6 @@
"sku": {
"$ref": "#/definitions/Sku",
"description": "The SKU of the resource."
- },
- "identity": {
- "$ref": "#/definitions/Identity",
- "description": "The identity of the resource."
}
},
"allOf": [
@@ -1606,6 +1684,7 @@
"description": "Provisioning status of the managed application.",
"readOnly": true,
"enum": [
+ "NotSpecified",
"Accepted",
"Running",
"Ready",
@@ -1640,6 +1719,7 @@
"ApplicationArtifactType": {
"description": "The managed application artifact type.",
"enum": [
+ "NotSpecified",
"Template",
"Custom"
],
@@ -1649,10 +1729,38 @@
"modelAsString": false
}
},
+ "ApplicationDefinitionArtifactName": {
+ "description": "The managed application artifact name.",
+ "enum": [
+ "NotSpecified",
+ "ApplicationResourceTemplate",
+ "CreateUiDefinition",
+ "MainTemplateParameters"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationDefinitionArtifactName",
+ "modelAsString": true
+ }
+ },
+ "ApplicationArtifactName": {
+ "description": "The managed application artifact name.",
+ "enum": [
+ "NotSpecified",
+ "ViewDefinition",
+ "Authorizations",
+ "CustomRoleDefinition"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationArtifactName",
+ "modelAsString": true
+ }
+ },
"ApplicationArtifact": {
"properties": {
"name": {
- "type": "string",
+ "$ref": "#/definitions/ApplicationArtifactName",
"description": "The managed application artifact name."
},
"uri": {
@@ -1664,9 +1772,113 @@
"description": "The managed application artifact type."
}
},
+ "required": [
+ "name",
+ "type",
+ "uri"
+ ],
"description": "Managed application artifact."
},
- "ApplicationProviderAuthorization": {
+ "ApplicationDefinitionArtifact": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ApplicationDefinitionArtifactName",
+ "description": "The managed application definition artifact name."
+ },
+ "uri": {
+ "type": "string",
+ "description": "The managed application definition artifact blob uri."
+ },
+ "type": {
+ "$ref": "#/definitions/ApplicationArtifactType",
+ "description": "The managed application definition artifact type."
+ }
+ },
+ "required": [
+ "name",
+ "type",
+ "uri"
+ ],
+ "description": "Application definition artifact."
+ },
+ "ApplicationNotificationPolicy": {
+ "properties": {
+ "notificationEndpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationNotificationEndpoint"
+ },
+ "description": "The managed application notification endpoint."
+ }
+ },
+ "required": [
+ "notificationEndpoints"
+ ],
+ "description": "Managed application notification policy."
+ },
+ "ApplicationNotificationEndpoint": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "The managed application notification endpoint uri."
+ }
+ },
+ "required": [
+ "uri"
+ ],
+ "description": "Managed application notification endpoint."
+ },
+ "ApplicationPackageLockingPolicyDefinition": {
+ "properties": {
+ "allowedActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The deny assignment excluded actions."
+ }
+ },
+ "description": "Managed application locking policy."
+ },
+ "ApplicationDeploymentPolicy": {
+ "properties": {
+ "deploymentMode": {
+ "$ref": "#/definitions/DeploymentMode",
+ "description": "The managed application deployment mode."
+ }
+ },
+ "required": [
+ "deploymentMode"
+ ],
+ "description": "Managed application deployment policy."
+ },
+ "ApplicationManagementPolicy": {
+ "properties": {
+ "mode": {
+ "$ref": "#/definitions/ApplicationManagementMode",
+ "description": "The managed application management mode."
+ }
+ },
+ "description": "Managed application management policy."
+ },
+ "ApplicationPolicy": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The policy name"
+ },
+ "policyDefinitionId": {
+ "type": "string",
+ "description": "The policy definition Id."
+ },
+ "parameters": {
+ "type": "string",
+ "description": "The policy parameters."
+ }
+ },
+ "description": "Managed application policy."
+ },
+ "ApplicationAuthorization": {
"properties": {
"principalId": {
"type": "string",
@@ -1683,6 +1895,76 @@
],
"description": "The managed application provider authorization."
},
+ "ApplicationPackageContact": {
+ "properties": {
+ "contactName": {
+ "type": "string",
+ "description": "The contact name."
+ },
+ "email": {
+ "type": "string",
+ "description": "The contact email."
+ },
+ "phone": {
+ "type": "string",
+ "description": "The contact phone number."
+ }
+ },
+ "required": [
+ "email",
+ "phone"
+ ],
+ "description": "The application package contact information."
+ },
+ "ApplicationPackageSupportUrls": {
+ "properties": {
+ "publicAzure": {
+ "type": "string",
+ "description": "The public azure support URL."
+ },
+ "governmentCloud": {
+ "type": "string",
+ "description": "The government cloud support URL."
+ }
+ },
+ "description": "The appliance package support URLs."
+ },
+ "ApplicationBillingDetailsDefinition": {
+ "properties": {
+ "resourceUsageId": {
+ "type": "string",
+ "description": "The managed application resource usage Id."
+ }
+ },
+ "description": "Managed application billing details definition."
+ },
+ "ApplicationJitAccessPolicy": {
+ "properties": {
+ "jitAccessEnabled": {
+ "type": "boolean",
+ "description": "Whether the JIT access is enabled."
+ },
+ "jitApprovalMode": {
+ "$ref": "#/definitions/JitApprovalMode",
+ "description": "JIT approval mode."
+ },
+ "jitApprovers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JitApproverDefinition"
+ },
+ "description": "The JIT approvers"
+ },
+ "maximumJitAccessDuration": {
+ "type": "string",
+ "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value."
+ }
+ },
+ "required": [
+ "jitAccessEnabled"
+ ],
+ "description": "Managed application Jit access policy."
+ },
"ErrorResponse": {
"description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.",
"type": "object",
@@ -1835,6 +2117,47 @@
],
"description": "The JIT scheduling policies."
},
+ "JitApprovalMode": {
+ "description": "The Jit approval mode.",
+ "enum": [
+ "NotSpecified",
+ "AutoApprove",
+ "ManualApprove"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JitApprovalMode",
+ "modelAsString": true
+ }
+ },
+ "JitApproverDefinition": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The approver service principal Id."
+ },
+ "type": {
+ "type": "string",
+ "description": "The approver type.",
+ "enum": [
+ "user",
+ "group"
+ ],
+ "x-ms-enum": {
+ "name": "JitApproverType",
+ "modelAsString": true
+ }
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The approver display name."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "JIT approver definition."
+ },
"ApplicationClientDetails": {
"readOnly": true,
"properties": {
@@ -1928,6 +2251,32 @@
"description": "URL to get the next set of operation list results if there are any."
}
}
+ },
+ "DeploymentMode": {
+ "description": "The deployment mode.",
+ "enum": [
+ "NotSpecified",
+ "Incremental",
+ "Complete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeploymentMode",
+ "modelAsString": true
+ }
+ },
+ "ApplicationManagementMode": {
+ "description": "The management mode.",
+ "enum": [
+ "NotSpecified",
+ "Unmanaged",
+ "Managed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ApplicationManagementMode",
+ "modelAsString": true
+ }
}
},
"parameters": {
diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md
index e38997b8144f..3f11f6b2e9f2 100644
--- a/specification/resources/resource-manager/readme.java.md
+++ b/specification/resources/resource-manager/readme.java.md
@@ -20,6 +20,7 @@ Generate all API versions currently shipped for this package
batch:
- tag: package-features-2015-12
- tag: package-locks-2016-09
+ - tag: package-managedapplications-2019-07
- tag: package-policy-2019-09
- tag: package-policy-2019-06
- tag: package-policy-2019-01
@@ -37,6 +38,7 @@ batch:
- tag: package-subscriptions-2018-06
- tag: package-subscriptions-2016-06
```
+```
### Tag: package-features-2015-12 and java
@@ -66,6 +68,20 @@ generate-interface: true
fconfig: '{"moduleName": "Locks"}'
```
+### Tag: package-managedapplications-2019-07 and java
+
+These settings apply only when `--tag=package-managedapplications-2019-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-managedapplications-2019-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.managedapplications.v2019_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/managedapplications/mgmt-v2019_07_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "ManagedApplications"}'
+```
+
### Tag: package-policy-2019-09 and java
These settings apply only when `--tag=package-policy-2019-09 --java` is specified on the command line.
diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md
index 7d015cbc165d..c390c1a0b58d 100644
--- a/specification/resources/resource-manager/readme.md
+++ b/specification/resources/resource-manager/readme.md
@@ -45,7 +45,7 @@ tag: package-resources-2019-10
```
``` yaml $(package-subscriptions)
-tag: package-subscriptions-2019-06
+tag: package-subscriptions-2019-11
```
``` yaml $(package-links)
@@ -60,9 +60,10 @@ tag: package-managedapplications-2018-06
tag: package-deploymentscripts-2019-10-preview
```
-### Tag: package-resources-2019-10-preview
+### Tag: package-deploymentscripts-2019-10-preview
+
These settings apply only when `--tag=package-deploymentscripts-2019-10-preview` is specified on the command line.
-
+
``` yaml $(tag) == 'package-deploymentscripts-2019-10-preview'
input-file:
- Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
@@ -348,6 +349,15 @@ input-file:
- Microsoft.Resources/stable/2015-11-01/resources.json
```
+### Tag: package-subscriptions-2019-11
+
+These settings apply only when `--tag=package-subscriptions-2019-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-subscriptions-2019-11'
+input-file:
+- Microsoft.Resources/stable/2019-11-01/subscriptions.json
+```
+
### Tag: package-subscriptions-2019-06
These settings apply only when `--tag=package-subscriptions-2019-06` is specified on the command line.
@@ -394,6 +404,7 @@ input-file:
```
### Tag: package-managedapplications-2019-07
+
These settings apply only when `--tag=package-managedapplications-2019-07` is specified on the command line.
``` yaml $(tag) == 'package-managedapplications-2019-07'
@@ -440,6 +451,10 @@ directive:
from: policyDefinitions.json
where: $.paths
reason: policy definition under an extension resource with Microsoft.Management
+ - suppress: UniqueResourcePaths
+ from: policyAssignments.json
+ where: $.paths
+ reason: policy assignment under an extension resource with Microsoft.Management
- suppress: OperationsAPIImplementation
from: policyAssignments.json
where: $.paths
@@ -460,6 +475,10 @@ directive:
from: resources.json
where: $.definitions.GenericResource.properties
reason: managedBy is a top level property
+ - suppress: BodyTopLevelProperties
+ from: resources.json
+ where: $.definitions.GenericResourceExpanded.properties
+ reason: createdTime,changedTime & provisioningState are top-level properties
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.TagDetails.properties
@@ -538,6 +557,7 @@ swagger-to-sdk:
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#resources
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#subscriptions
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#links
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-resource#deploymentscripts
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
@@ -565,6 +585,7 @@ batch:
- package-subscriptions: true
- package-links: true
- package-managedapplications: true
+ - package-deploymentscripts: true
```
### Tag: profile-hybrid-2019-03-01
@@ -581,7 +602,7 @@ input-file:
- Microsoft.Resources/stable/2018-05-01/resources.json
```
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -631,6 +652,7 @@ input-file:
- $(this-folder)/Microsoft.Resources/stable/2016-07-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2016-02-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2015-11-01/resources.json
+ - $(this-folder)/Microsoft.Resources/stable/2019-11-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2019-06-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2018-06-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2016-06-01/subscriptions.json
@@ -643,11 +665,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md
index 2a224e187743..cd039ad6c930 100644
--- a/specification/resources/resource-manager/readme.python.md
+++ b/specification/resources/resource-manager/readme.python.md
@@ -45,9 +45,11 @@ batch:
- tag: package-resources-2017-05
- tag: package-resources-2016-09
- tag: package-resources-2016-02
+ - tag: package-subscriptions-2019-11
- tag: package-subscriptions-2019-06
- tag: package-subscriptions-2018-06
- tag: package-subscriptions-2016-06
+ - tag: package-deploymentscripts-2019-10-preview
```
### Tag: package-features-2015-12 and python
@@ -314,6 +316,17 @@ python:
output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01
```
+### Tag: package-subscriptions-2019-11 and python
+
+These settings apply only when `--tag=package-subscriptions-2019-11 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-subscriptions-2019-11' && $(python)
+python:
+ namespace: azure.mgmt.resource.subscriptions.v2019_11_01
+ output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2019_11_01
+```
+
### Tag: package-subscriptions-2019-06 and python
These settings apply only when `--tag=package-subscriptions-2019-06 --python` is specified on the command line.
@@ -346,3 +359,14 @@ python:
namespace: azure.mgmt.resource.subscriptions.v2016_06_01
output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01
```
+
+### Tag: package-deploymentscripts-2019-10-preview and python
+
+These settings apply only when `--tag=package-deploymentscripts-2019-10-preview` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-deploymentscripts-2019-10-preview' && $(python)
+python:
+ namespace: azure.mgmt.resource.deploymentscripts.v2019_10_preview
+ output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2019_10_preview
+```
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md b/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md
index 2f6c6beae544..af6d3830fca2 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md
@@ -114,9 +114,195 @@ input-file:
# Code Generation
!!! READ THIS !!!
-This swagger is not yet ready for languages other than C#.
+This swagger is ready for C# and Java
!!! READ THIS !!!
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--java-sdks-folder=`.
+
+``` yaml $(java)
+title: SearchIndexRestClient
+output-folder: $(java-sdks-folder)/search
+namespace: com.azure.search
+java: true
+sync-methods: none
+add-context-parameter: true
+generate-client-interfaces: false
+license-header: |-
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Licensed under the MIT License.
+ Code generated by Microsoft (R) AutoRest Code Generator.
+ Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+require: ../autorest-custom-directives.md
+
+vararg-properties: >-
+ AutocompleteOptions.searchFields,
+ SearchOptions.facets, SearchOptions.highlightFields, SearchOptions.orderBy, SearchOptions.scoringParameters, SearchOptions.searchFields, SearchOptions.select,
+ SuggestOptions.orderBy, SuggestOptions.searchFields, SuggestOptions.select
+```
+
+### Tweak generated code
+
+Use the below directives sparingly. Every modification we make in here, we potentially have to replicate for every target language.
+
+``` yaml $(java)
+directive:
+ # Rename IndexBatch to IndexBatchImpl when processing the API spec
+ - rename-model:
+ from: IndexBatch
+ to: IndexBatchImpl
+
+ # Use Document rather than Map
+ - from:
+ - DocumentsImpl.java
+ - SearchResult.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(package com.azure.search.models;)/g, "$1\nimport com.azure.search.Document;")
+ .replace(/(package com.azure.search.implementation;)/g, "$1\nimport com.azure.search.Document;")
+ .replace(/(Map)/g, "Document")
+ .replace(/(Object)/g, "Document")
+
+ # Use Document rather than Map
+ - from: SuggestResult.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(import java.util.Map;\n)/g, "import com.azure.search.Document;")
+ .replace(/(Map)/g, "Document")
+
+ # Enable configuration of RestProxy serializer
+ - from: DocumentsImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(import com.azure.core.util.serializer.JacksonAdapter;)/g, "$1\nimport com.azure.core.util.serializer.SerializerAdapter;")
+ .replace(/(@param client the instance of the service client containing this operation class.)/g, "$1\n \* @param serializer the serializer to be used for service client requests.")
+ .replace(/(public DocumentsImpl\(SearchIndexRestClientImpl client\) {)/g, "public DocumentsImpl(SearchIndexRestClientImpl client, SerializerAdapter serializer) {")
+ .replace(/(this.service = RestProxy.create\(DocumentsService.class, client.getHttpPipeline\(\)\);)/g, "this.service = RestProxy.create(DocumentsService.class, client.getHttpPipeline(), serializer);")
+
+ # Enable public access to client setters
+ # Enable configuration of RestProxy serializer
+ - from: SearchIndexRestClientImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(void setApiVersion)/g, "public void setApiVersion")
+ .replace(/(void setIndexName)/g, "public void setIndexName")
+ .replace(/(void setSearchDnsSuffix)/g, "public void setSearchDnsSuffix")
+ .replace(/(void setSearchServiceName)/g, "public void setSearchServiceName")
+ .replace(/(package com.azure.search.implementation;)/g, "$1\nimport com.azure.core.util.serializer.SerializerAdapter;")
+ .replace(/(this\(RestProxy.createDefaultPipeline\(\)\);)/g, "this(RestProxy.createDefaultPipeline(), JacksonAdapter.createDefaultSerializerAdapter());")
+ .replace(/(@param httpPipeline The HTTP pipeline to send requests through.)/g, "$1\n \* @param serializer the serializer to be used for service client requests.")
+ .replace(/(public SearchIndexRestClientImpl\(HttpPipeline httpPipeline\) {)/g, "public SearchIndexRestClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializer) {")
+ .replace(/(this.documents = new DocumentsImpl\(this\);)/g, "this.documents = new DocumentsImpl(this, serializer);")
+
+ # Enable IndexAction to be used as a generic type
+ # Enable serialization of both POJOs and Maps
+ - from: IndexAction.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(import com.fasterxml.jackson.annotation.JsonProperty;)/g, "import com.fasterxml.jackson.annotation.JsonAnyGetter;\nimport com.fasterxml.jackson.annotation.JsonIgnore;\n$1\nimport com.fasterxml.jackson.annotation.JsonUnwrapped;\n")
+ .replace(/(class IndexAction)/g, "$1")
+ .replace(/(Unmatched properties from the message are deserialized this collection)/g, "The document on which the action will be performed.")
+ .replace(/(@JsonProperty\(value = ""\))/g, "@JsonUnwrapped")
+ .replace(/(private Map additionalProperties);/g, "private T document;\n\n @JsonIgnore\n private Map properties;\n\n @JsonAnyGetter\n private Map getParamMap() {\n return properties;\n }")
+ .replace(/(Get the additionalProperties property: Unmatched properties from the\n\s+\* message are deserialized this collection.)/g, "Get the document on which the action will be performed; Fields other than the key are ignored for delete actions.")
+ .replace(/(@return the additionalProperties value.)/g, "@return the document value.")
+ .replace(/(public Map getAdditionalProperties\(\) {\s+return this.additionalProperties;\s+})/g, "public T getDocument() {\n return this.document;\n }")
+ .replace(/(Set the additionalProperties property: Unmatched properties from the\s+\* message are deserialized this collection.)/g, "Get the document on which the action will be performed; Fields other than the key are ignored for delete actions.")
+ .replace(/(@param additionalProperties the additionalProperties value to set.)/g, "@param document the document value to set.")
+ .replace(/(public IndexAction setAdditionalProperties\(Map additionalProperties\) {\s+this.additionalProperties = additionalProperties;\s+return this;\s+})/g, "@SuppressWarnings(\"unchecked\")\n public IndexAction setDocument(T document) {\n if (document instanceof Map) {\n this.properties = (Map) document;\n this.document = null;\n } else {\n this.document = document;\n this.properties = null;\n }\n return this;\n }")
+ .replace(/(public IndexAction setActionType\(IndexActionType actionType\) {)/g, "public IndexAction setActionType(IndexActionType actionType) {")
+
+ # Enable configuration of RestProxy serializer
+ - from: SearchIndexRestClientBuilder.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(package com.azure.search.implementation;)/g, "$1\nimport com.azure.core.util.serializer.SerializerAdapter;")
+ .replace(/(\* The HTTP pipeline to send requests through)/g, "\* The serializer to use for requests\n \*\/\n private SerializerAdapter serializer;\n\n \/\*\*\n \* Sets The serializer to use for requests.\n \*\n \* @param serializer the serializer value.\n \* @return the SearchIndexRestClientBuilder.\n \*\/\n public SearchIndexRestClientBuilder serializer\(SerializerAdapter serializer\) {\n this.serializer = serializer;\n return this;\n }\n\n \/\*\n $1")
+ .replace(/(new SearchIndexRestClientImpl\(pipeline)/g, "$1, serializer")
+ .replace(/(this.pipeline = RestProxy.createDefaultPipeline\(\);\s+})/g, "$1\n if \(serializer == null\) {\n this.serializer = JacksonAdapter.createDefaultSerializerAdapter\(\);\n }")
+
+ # Enable IndexBatchImpl to be used as a generic type
+ - from: IndexBatchImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(public final class IndexBatchImpl)/g, "public class IndexBatchImpl")
+ .replace(/(private List actions;)/g, "private List> actions;")
+ .replace(/(public List getActions\(\) {)/g, "public List> getActions() {")
+ .replace(/(public IndexBatchImpl setActions\(List actions\) {)/g, "protected IndexBatchImpl setActions(List> actions) {")
+
+ # Replace use of generated IndexBatchImpl with custom IndexBatch class
+ - from: DocumentsImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(IndexBatchImpl)/g, "IndexBatch")
+ .replace(/(IndexBatch )/g, "IndexBatch ")
+ .replace(/(Mono indexAsync)/g, " $1")
+ .replace(/(Mono> index)/g, " $1")
+ .replace(/(import com.azure.search.implementation.models.IndexBatch)/g, "import com.azure.search.models.IndexBatch")
+
+ # Change get to is
+ - from: DocumentsImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(get(IncludeTotalResultCount|UseFuzzyMatching))/g, "is$2")
+
+ # Mark IndexingResult as Serializable, for use in IndexBatchException
+ - from: IndexingResult.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(import com.fasterxml.jackson.annotation.JsonProperty;)/g, "$1\n\nimport java.io.Serializable;")
+ .replace(/(class IndexingResult {)/g, "class IndexingResult implements Serializable {\n private static final long serialVersionUID = -8604424005271188140L;")
+
+ - from:
+ - FacetResult.java
+ where: $
+ transform: >-
+ return $.replace(/(public FacetResult setAdditionalProperties)/g, "FacetResult setAdditionalProperties")
+
+ - from:
+ - SearchResult.java
+ where: $
+ transform: >-
+ return $.replace(/(public SearchResult setAdditionalProperties)/g, "SearchResult setAdditionalProperties")
+
+ - from:
+ - SuggestResult.java
+ where: $
+ transform: >-
+ return $.replace(/(public SuggestResult setAdditionalProperties)/g, "SuggestResult setAdditionalProperties")
+
+ - from:
+ - FacetResult.java
+ - SearchResult.java
+ - SuggestResult.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(getAdditionalProperties)/g, "getDocument")
+ .replace(/(setAdditionalProperties)/g, "setDocument")
+ reason: Provides a better description of the getter/setter for addtionalProperties
+
+ - from:
+ - SearchResult.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(package com.azure.search.models;)/g, "$1\nimport com.fasterxml.jackson.annotation.JsonIgnore;")
+ .replace(/(public Document getDocument())/g, "@JsonIgnore\n$1")
+```
## C#
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/stable/2019-05-06/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/stable/2019-05-06/searchindex.json
index 89a21603827a..b946a878fdd9 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Data/stable/2019-05-06/searchindex.json
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/stable/2019-05-06/searchindex.json
@@ -97,7 +97,7 @@
"x-nullable": false,
"x-ms-client-name": "IncludeTotalResultCount",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -111,7 +111,7 @@
"description": "The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs.",
"x-ms-client-name": "Facets",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -120,7 +120,7 @@
"type": "string",
"description": "The OData $filter expression to apply to the search query.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -133,7 +133,7 @@
"description": "The list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.",
"x-ms-client-name": "HighlightFields",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -142,7 +142,7 @@
"type": "string",
"description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -151,7 +151,7 @@
"type": "string",
"description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -161,7 +161,7 @@
"format": "double",
"description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -174,7 +174,7 @@
"description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.",
"x-ms-client-name": "OrderBy",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -192,7 +192,7 @@
"x-nullable": false,
"description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -206,7 +206,7 @@
"x-ms-client-name": "ScoringParameters",
"description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be \"mylocation--122.2,44.8\" (without the quotes).",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -215,7 +215,7 @@
"type": "string",
"description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -227,7 +227,7 @@
},
"description": "The list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -245,7 +245,7 @@
"x-nullable": false,
"description": "A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -257,7 +257,7 @@
},
"description": "The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -267,7 +267,7 @@
"format": "int32",
"description": "The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use $skip due to this limitation, consider using $orderby on a totally-ordered key and $filter with a range query instead.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -277,7 +277,7 @@
"format": "int32",
"description": "The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results.",
"x-ms-parameter-grouping": {
- "name": "SearchParameters"
+ "name": "SearchOptions"
}
},
{
@@ -292,7 +292,7 @@
"200": {
"description": "Response containing documents that match the search criteria.",
"schema": {
- "$ref": "#/definitions/DocumentSearchResult"
+ "$ref": "#/definitions/SearchDocumentsResult"
}
}
}
@@ -336,7 +336,7 @@
"200": {
"description": "Response containing documents that match the search criteria.",
"schema": {
- "$ref": "#/definitions/DocumentSearchResult"
+ "$ref": "#/definitions/SearchDocumentsResult"
}
}
}
@@ -429,7 +429,7 @@
"type": "string",
"description": "An OData expression that filters the documents considered for suggestions.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -440,7 +440,7 @@
"x-ms-client-name": "UseFuzzyMatching",
"x-nullable": false,
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -449,7 +449,7 @@
"type": "string",
"description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -458,7 +458,7 @@
"type": "string",
"description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -468,7 +468,7 @@
"format": "double",
"description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestions query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -481,7 +481,7 @@
"x-ms-client-name": "OrderBy",
"description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -493,7 +493,7 @@
},
"description": "The list of field names to search for the specified search text. Target fields must be included in the specified suggester.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -505,7 +505,7 @@
},
"description": "The list of fields to retrieve. If unspecified, only the key field will be included in the results.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -515,7 +515,7 @@
"format": "int32",
"description": "The number of suggestions to retrieve. The value must be a number between 1 and 100. The default is 5.",
"x-ms-parameter-grouping": {
- "name": "SuggestParameters"
+ "name": "SuggestOptions"
}
},
{
@@ -530,7 +530,7 @@
"200": {
"description": "Response containing suggested documents that match the partial input.",
"schema": {
- "$ref": "#/definitions/DocumentSuggestResult"
+ "$ref": "#/definitions/SuggestDocumentsResult"
}
}
}
@@ -573,7 +573,7 @@
"200": {
"description": "Response containing suggested documents that match the partial input.",
"schema": {
- "$ref": "#/definitions/DocumentSuggestResult"
+ "$ref": "#/definitions/SuggestDocumentsResult"
}
}
}
@@ -616,13 +616,13 @@
"200": {
"description": "Response containing the status of operations for all actions in the batch.",
"schema": {
- "$ref": "#/definitions/DocumentIndexResult"
+ "$ref": "#/definitions/IndexDocumentsResult"
}
},
"207": {
"description": "Response containing the status of operations for all actions in the batch.",
"schema": {
- "$ref": "#/definitions/DocumentIndexResult"
+ "$ref": "#/definitions/IndexDocumentsResult"
}
}
}
@@ -681,7 +681,7 @@
},
"description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -690,7 +690,7 @@
"type": "string",
"description": "An OData expression that filters the documents used to produce completed terms for the Autocomplete result.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -700,7 +700,7 @@
"description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy autocomplete queries are slower and consume more resources.",
"x-ms-client-name": "UseFuzzyMatching",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -709,7 +709,7 @@
"type": "string",
"description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -718,7 +718,7 @@
"type": "string",
"description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -728,7 +728,7 @@
"format": "double",
"description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -740,7 +740,7 @@
},
"description": "The list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
},
{
@@ -750,17 +750,16 @@
"format": "int32",
"description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5.",
"x-ms-parameter-grouping": {
- "name": "AutocompleteParameters"
+ "name": "AutocompleteOptions"
}
}
],
"x-ms-request-id": "request-id",
"responses": {
"200": {
- "description": "",
+ "description": "Response containing suggested query terms that complete the partial input.",
"schema": {
- "$ref": "#/definitions/AutocompleteResult",
- "description": "The result of Autocomplete query."
+ "$ref": "#/definitions/AutocompleteResult"
}
}
}
@@ -801,10 +800,9 @@
"x-ms-request-id": "request-id",
"responses": {
"200": {
- "description": "",
+ "description": "Response containing suggested query terms that complete the partial input.",
"schema": {
- "$ref": "#/definitions/AutocompleteResult",
- "description": "The result of Autocomplete query."
+ "$ref": "#/definitions/AutocompleteResult"
}
}
}
@@ -812,7 +810,7 @@
}
},
"definitions": {
- "DocumentSuggestResult": {
+ "SuggestDocumentsResult": {
"properties": {
"value": {
"type": "array",
@@ -857,7 +855,7 @@
"additionalProperties": true,
"description": "A single bucket of a facet query result. Reports the number of documents with a field value falling within a particular range or having a particular value or interval."
},
- "DocumentSearchResult": {
+ "SearchDocumentsResult": {
"properties": {
"@odata.count": {
"type": "integer",
@@ -1001,7 +999,7 @@
},
"description": "Status of an indexing operation for a single document."
},
- "DocumentIndexResult": {
+ "IndexDocumentsResult": {
"properties": {
"value": {
"x-ms-client-name": "Results",
@@ -1255,6 +1253,13 @@
},
"AutocompleteResult": {
"properties": {
+ "@search.coverage": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "x-ms-client-name": "Coverage",
+ "description": "A value indicating the percentage of the index that was considered by the autocomplete request, or null if minimumCoverage was not specified in the request."
+ },
"value": {
"type": "array",
"readOnly": true,
@@ -1300,7 +1305,7 @@
"description": "The tracking ID sent with the request to help with debugging.",
"x-ms-client-request-id": true,
"x-ms-parameter-grouping": {
- "name": "search-request-options"
+ "name": "request-options"
},
"x-ms-parameter-location": "method"
},
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md b/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md
index 7c402fb15b55..50f5c85f6f60 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/readme.md
@@ -115,9 +115,101 @@ input-file:
# Code Generation
!!! READ THIS !!!
-This swagger is not yet ready for languages other than C#.
+This swagger is ready for C# and Java.
!!! READ THIS !!!
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--java-sdks-folder=`.
+
+``` yaml $(java)
+title: SearchServiceRestClient
+output-folder: $(java-sdks-folder)/search
+namespace: com.azure.search
+java: true
+sync-methods: none
+add-context-parameter: true
+generate-client-interfaces: false
+custom-types-subpackage: implementation.models
+custom-types: AnalyzeResult
+license-header: |-
+ Copyright (c) Microsoft Corporation. All rights reserved.
+ Licensed under the MIT License.
+ Code generated by Microsoft (R) AutoRest Code Generator.
+ Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+require: ../autorest-custom-directives.md
+
+vararg-properties: >-
+ CorsOptions.allowedOrigins
+
+directive:
+ # Add static Collection method to DataType
+ - from: DataType.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(public static final DataType EDM_COMPLEX_TYPE = fromString\("Edm.ComplexType"\);)/g, "$1\n\n /**\n * Returns a collection of a specific DataType\n * @param dataType the corresponding DataType\n * @return a Collection of the corresponding DataType\n */\n @JsonCreator\n public static DataType Collection(DataType dataType) {\n return fromString(String.format(\"Collection(%s)\", dataType.toString()));\n }")
+
+ # Workaround to fix bad host path parameters
+ - from:
+ - SkillsetsImpl.java
+ - DatasetsImpl.java
+ - DataSourcesImpl.java
+ - IndexersImpl.java
+ - IndexesImpl.java
+ - SynonymMapsImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(this.getSearchServiceName)/g, "this.client.getSearchServiceName")
+ .replace(/(this.getSearchDnsSuffix)/g, "this.client.getSearchDnsSuffix")
+
+ # Replace VoidResponse with SimpleResponse
+ - from:
+ - SkillsetsImpl.java
+ - DatasetsImpl.java
+ - DataSourcesImpl.java
+ - IndexersImpl.java
+ - IndexesImpl.java
+ - SynonymMapsImpl.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(import com.azure.core.http.rest.VoidResponse;\n)/g, "")
+ .replace(/(VoidResponse)/g, "SimpleResponse")
+
+ # Change Field.analyzer/indexAnalyzer/searchAnalyzer's types from enum to string. Update setters and getters.
+ - change-object-ref-to-string:
+ path: "$.definitions.Field.properties.analyzer"
+ - change-object-ref-to-string:
+ path: "$.definitions.Field.properties.searchAnalyzer"
+ - change-object-ref-to-string:
+ path: "$.definitions.Field.properties.indexAnalyzer"
+
+ # Change CustomAnalyzer.tokenizer/tokenFilters/charFilters' types from enum to string. Update setters and getters.
+ - change-object-ref-to-string:
+ path: "$.definitions.CustomAnalyzer.properties.tokenizer"
+ - change-object-ref-to-string:
+ path: "$.definitions.CustomAnalyzer.properties.tokenFilters.items"
+ - change-object-ref-to-string:
+ path: "$.definitions.CustomAnalyzer.properties.charFilters.items"
+
+ - from:
+ - SearchServiceRestClientImpl.java
+ where: $
+ transform: >-
+ return $.replace(/(package com.azure.search.implementation;)/g, "$1\nimport com.azure.core.http.rest.RestProxy;")
+
+ - from:
+ - DataSourceType.java
+ where: $
+ transform: >-
+ return $
+ .replace(/(COSMOS_DB)/g, "COSMOS")
+```
+
## C#
These settings apply only when `--csharp` is specified on the command line.
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Service/stable/2019-05-06/searchservice.json b/specification/search/data-plane/Microsoft.Azure.Search.Service/stable/2019-05-06/searchservice.json
index f0989643beb5..a160c1a6e433 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Service/stable/2019-05-06/searchservice.json
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Service/stable/2019-05-06/searchservice.json
@@ -211,7 +211,7 @@
"200": {
"description": "",
"schema": {
- "$ref": "#/definitions/DataSourceListResult"
+ "$ref": "#/definitions/ListDataSourcesResult"
}
}
}
@@ -518,7 +518,7 @@
"200": {
"description": "",
"schema": {
- "$ref": "#/definitions/IndexerListResult"
+ "$ref": "#/definitions/ListIndexersResult"
}
}
}
@@ -790,7 +790,7 @@
"200": {
"description": "The list is successfully returned.",
"schema": {
- "$ref": "#/definitions/SkillsetListResult"
+ "$ref": "#/definitions/ListSkillsetsResult"
}
}
}
@@ -1021,7 +1021,7 @@
"200": {
"description": "",
"schema": {
- "$ref": "#/definitions/SynonymMapListResult"
+ "$ref": "#/definitions/ListSynonymMapsResult"
}
}
}
@@ -1144,7 +1144,7 @@
"200": {
"description": "",
"schema": {
- "$ref": "#/definitions/IndexListResult"
+ "$ref": "#/definitions/ListIndexesResult"
}
}
}
@@ -1341,7 +1341,7 @@
"200": {
"description": "",
"schema": {
- "$ref": "#/definitions/IndexGetStatisticsResult"
+ "$ref": "#/definitions/GetIndexStatisticsResult"
}
}
}
@@ -3853,7 +3853,7 @@
],
"description": "Represents a datasource definition, which can be used to configure an indexer."
},
- "DataSourceListResult": {
+ "ListDataSourcesResult": {
"properties": {
"value": {
"x-ms-client-name": "DataSources",
@@ -4040,7 +4040,7 @@
},
"description": "Represents an indexer."
},
- "IndexerListResult": {
+ "ListIndexersResult": {
"properties": {
"value": {
"x-ms-client-name": "Indexers",
@@ -4763,7 +4763,7 @@
],
"description": "Represents a search index definition, which describes the fields and search behavior of an index."
},
- "IndexGetStatisticsResult": {
+ "GetIndexStatisticsResult": {
"properties": {
"documentCount": {
"type": "integer",
@@ -4782,7 +4782,7 @@
},
"description": "Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date."
},
- "IndexListResult": {
+ "ListIndexesResult": {
"properties": {
"value": {
"x-ms-client-name": "Indexes",
@@ -4814,7 +4814,8 @@
"description": "A list of skills in the skillset."
},
"cognitiveServices": {
- "$ref": "#/definitions/CognitiveServices",
+ "x-ms-client-name": "CognitiveServicesAccount",
+ "$ref": "#/definitions/CognitiveServicesAccount",
"description": "Details about cognitive services to be used when running skills."
},
"@odata.etag": {
@@ -4833,7 +4834,7 @@
},
"description": "A list of skills."
},
- "CognitiveServices": {
+ "CognitiveServicesAccount": {
"discriminator": "@odata.type",
"properties": {
"@odata.type": {
@@ -4848,21 +4849,21 @@
],
"description": "Abstract base class for describing any cognitive service resource attached to the skillset."
},
- "DefaultCognitiveServices": {
+ "DefaultCognitiveServicesAccount": {
"description": "An empty object that represents the default cognitive service resource for a skillset.",
"x-ms-discriminator-value": "#Microsoft.Azure.Search.DefaultCognitiveServices",
"allOf": [
{
- "$ref": "#/definitions/CognitiveServices"
+ "$ref": "#/definitions/CognitiveServicesAccount"
}
]
},
- "CognitiveServicesByKey": {
+ "CognitiveServicesAccountKey": {
"description": "A cognitive service resource provisioned with a key that is attached to a skillset.",
"x-ms-discriminator-value": "#Microsoft.Azure.Search.CognitiveServicesByKey",
"allOf": [
{
- "$ref": "#/definitions/CognitiveServices"
+ "$ref": "#/definitions/CognitiveServicesAccount"
}
],
"properties": {
@@ -5275,7 +5276,7 @@
},
"description": "A dictionary of http request headers."
},
- "SkillsetListResult": {
+ "ListSkillsetsResult": {
"properties": {
"value": {
"x-ms-client-name": "Skillsets",
@@ -5316,12 +5317,15 @@
"VisualFeature": {
"type": "string",
"enum": [
+ "adult",
+ "brands",
"categories",
- "tags",
+ "color",
"description",
"faces",
"imageType",
- "color"
+ "objects",
+ "tags"
],
"x-ms-enum": {
"name": "VisualFeature",
@@ -6204,6 +6208,9 @@
"type": "string",
"enum": [
"en",
+ "es",
+ "ja",
+ "pt",
"zh"
],
"x-ms-enum": {
@@ -6214,6 +6221,18 @@
"value": "en",
"description": "English"
},
+ {
+ "value": "es",
+ "description": "Spanish"
+ },
+ {
+ "value": "ja",
+ "description": "Japanese"
+ },
+ {
+ "value": "pt",
+ "description": "Portuguese"
+ },
{
"value": "zh",
"description": "Chinese"
@@ -6262,7 +6281,7 @@
],
"description": "Represents a synonym map definition."
},
- "SynonymMapListResult": {
+ "ListSynonymMapsResult": {
"properties": {
"value": {
"x-ms-client-name": "SynonymMaps",
@@ -6388,7 +6407,7 @@
"description": "The tracking ID sent with the request to help with debugging.",
"x-ms-client-request-id": true,
"x-ms-parameter-grouping": {
- "name": "search-request-options"
+ "name": "request-options"
},
"x-ms-parameter-location": "method"
},
diff --git a/specification/search/data-plane/autorest-custom-directives.md b/specification/search/data-plane/autorest-custom-directives.md
new file mode 100644
index 000000000000..fc7690a036e3
--- /dev/null
+++ b/specification/search/data-plane/autorest-custom-directives.md
@@ -0,0 +1,20 @@
+```yaml
+# Declare a directive that can be invoked in the pipeline
+declare-directive:
+
+ # Renames a property in the given path
+ rename-custom-property: >-
+ {
+ from: 'swagger-document',
+ where: $.path,
+ transform: `$.name = $.name === "${$.from}" ? "${$.to}" : $.name`
+ }
+
+ # Change from object reference to string
+ change-object-ref-to-string: >-
+ {
+ from: 'swagger-document',
+ where: $.path,
+ transform: `delete $['$ref']; $['type'] = "string"`
+ }
+```
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..8f74a5f5d0fe
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeletePrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..1a6e8cc4aeda
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetPrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCheckNameAvailability.json
new file mode 100644
index 000000000000..0d6078e6d239
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "checkNameAvailabilityInput": {
+ "name": "mysearchservice",
+ "type": "searchServices"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json
new file mode 100644
index 000000000000..59c8a03031b2
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json
new file mode 100644
index 000000000000..879b5741afc0
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "service": {
+ "location": "westus",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "hostingMode": "default"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateQueryKey.json
new file mode 100644
index 000000000000..f1d46f20e0c8
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateQueryKey.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "name": "Query key for browser-based clients",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Query key for browser-based clients",
+ "key": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchDeleteQueryKey.json
new file mode 100644
index 000000000000..712c569cc171
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchDeleteQueryKey.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "key": "",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchDeleteService.json
new file mode 100644
index 000000000000..32148e207938
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchDeleteService.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetAdminKeys.json
new file mode 100644
index 000000000000..7816eeed03cd
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetAdminKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json
new file mode 100644
index 000000000000..1e56e251f98b
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListQueryKeysBySearchService.json
new file mode 100644
index 000000000000..3515166883c1
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListQueryKeysBySearchService.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Query key for browser-based clients",
+ "key": ""
+ },
+ {
+ "name": "Query key for mobile clients",
+ "key": ""
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json
new file mode 100644
index 000000000000..4745a7e47ae3
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2",
+ "name": "mysearchservice2",
+ "location": "eastus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json
new file mode 100644
index 000000000000..9b8b4d6b9ab5
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2",
+ "name": "mysearchservice2",
+ "location": "eastus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchRegenerateAdminKey.json
new file mode 100644
index 000000000000..0807c475548c
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchRegenerateAdminKey.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "keyKind": "primary",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json
new file mode 100644
index 000000000000..3af307242c6d
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "service": {
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "properties": {
+ "replicaCount": 2
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 2,
+ "partitionCount": 1,
+ "status": "provisioning",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "provisioning",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json
new file mode 100644
index 000000000000..75012045c018
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "service": {
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": [
+ {
+ "value": "10.2.3.4"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": [
+ {
+ "value": "10.2.3.4"
+ }
+ ]
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
new file mode 100644
index 000000000000..f5976ef7516d
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "service": {
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "networkRuleSet": {
+ "endpointAccess": "Private"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {
+ "app-name": "My e-commerce app",
+ "new-tag": "Adding a new tag"
+ },
+ "sku": {
+ "name": "basic"
+ },
+ "properties": {
+ "replicaCount": 1,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Private"
+ },
+ "privateEndpointConnections": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json
new file mode 100644
index 000000000000..ed629af8d9d1
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "service": {
+ "sku": {
+ "name": "standard"
+ },
+ "identity": {
+ "type": "None"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice",
+ "name": "mysearchservice",
+ "location": "westus",
+ "type": "Microsoft.Search/searchServices",
+ "tags": {},
+ "sku": {
+ "name": "standard"
+ },
+ "properties": {
+ "replicaCount": 3,
+ "partitionCount": 1,
+ "status": "running",
+ "statusDetails": "",
+ "hostingMode": "default",
+ "provisioningState": "succeeded",
+ "networkRuleSet": {
+ "endpointAccess": "Public",
+ "ipRules": []
+ }
+ },
+ "identity": {
+ "type": "None"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/UpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..1d346f313495
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/UpdatePrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "searchServiceName": "mysearchservice",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-10-01-preview",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "privateEndpointConnection": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "Rejected for some reason"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546",
+ "type": "Microsoft.Search/searchServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "Rejected for some reason",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json
new file mode 100644
index 000000000000..1335dec6988a
--- /dev/null
+++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json
@@ -0,0 +1,1453 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SearchManagementClient",
+ "description": "Client that can be used to manage Azure Cognitive Search services and API keys.",
+ "version": "2019-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.Search/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.Search provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": {
+ "post": {
+ "tags": [
+ "AdminKeys"
+ ],
+ "operationId": "AdminKeys_Get",
+ "x-ms-examples": {
+ "SearchGetAdminKeys": {
+ "$ref": "./examples/SearchGetAdminKeys.json"
+ }
+ },
+ "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your Search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
+ "schema": {
+ "$ref": "#/definitions/AdminKeyResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": {
+ "post": {
+ "tags": [
+ "AdminKeys"
+ ],
+ "operationId": "AdminKeys_Regenerate",
+ "x-ms-examples": {
+ "SearchRegenerateAdminKey": {
+ "$ref": "./examples/SearchRegenerateAdminKey.json"
+ }
+ },
+ "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "name": "keyKind",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "x-ms-enum": {
+ "name": "AdminKeyKind",
+ "modelAsString": false
+ },
+ "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.",
+ "schema": {
+ "$ref": "#/definitions/AdminKeyResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": {
+ "post": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "operationId": "QueryKeys_Create",
+ "x-ms-examples": {
+ "SearchCreateQueryKey": {
+ "$ref": "./examples/SearchCreateQueryKey.json"
+ }
+ },
+ "description": "Generates a new query key for the specified Search service. You can create up to 50 query keys per service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the new query API key."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "schema": {
+ "$ref": "#/definitions/QueryKey"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": {
+ "post": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "operationId": "QueryKeys_ListBySearchService",
+ "x-ms-examples": {
+ "SearchListQueryKeysBySearchService": {
+ "$ref": "./examples/SearchListQueryKeysBySearchService.json"
+ }
+ },
+ "description": "Returns the list of query API keys for the given Azure Cognitive Search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All query keys for the given Search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "schema": {
+ "$ref": "#/definitions/ListQueryKeysResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": {
+ "delete": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "operationId": "QueryKeys_Delete",
+ "x-ms-examples": {
+ "SearchDeleteQueryKey": {
+ "$ref": "./examples/SearchDeleteQueryKey.json"
+ }
+ },
+ "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The query key to be deleted. Query keys are identified by value, not by name."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The query key was successfully deleted."
+ },
+ "204": {
+ "description": "The query key was successfully deleted."
+ },
+ "404": {
+ "description": "The subscription, resource group, Search service, or query key could not be found."
+ },
+ "default": {
+ "description": "HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": {
+ "put": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_CreateOrUpdate",
+ "x-ms-examples": {
+ "SearchCreateOrUpdateService": {
+ "$ref": "./examples/SearchCreateOrUpdateService.json"
+ },
+ "SearchCreateOrUpdateServiceWithIdentity": {
+ "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json"
+ }
+ },
+ "description": "Creates or updates a Search service in the given resource group. If the Search service already exists, all properties will be updated with the given values.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created."
+ },
+ {
+ "name": "service",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ },
+ "description": "The definition of the Search service to create or update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "201": {
+ "description": "If you requested creation of a free Search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Update",
+ "x-ms-examples": {
+ "SearchUpdateService": {
+ "$ref": "./examples/SearchUpdateService.json"
+ },
+ "SearchUpdateServiceToRemoveIdentity": {
+ "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json"
+ },
+ "searchUpdateServiceToAllowAccessFromCustomIPs": {
+ "$ref": "./examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json"
+ },
+ "searchUpdateServiceToAllowAccessFromPrivateEndpoints": {
+ "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json"
+ }
+ },
+ "description": "Updates an existing Search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Cognitive Search service to update."
+ },
+ {
+ "name": "service",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ },
+ "description": "The definition of the Search service to update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Get",
+ "x-ms-examples": {
+ "SearchGetService": {
+ "$ref": "./examples/SearchGetService.json"
+ }
+ },
+ "description": "Gets the Search service with the given name in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.",
+ "schema": {
+ "$ref": "#/definitions/SearchService"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service name could not be found.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Services"
+ ],
+ "operationId": "Services_Delete",
+ "x-ms-examples": {
+ "SearchDeleteService": {
+ "$ref": "./examples/SearchDeleteService.json"
+ }
+ },
+ "description": "Deletes a Search service in the given resource group, along with its associated resources.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Search service was successfully deleted."
+ },
+ "204": {
+ "description": "The Search service was successfully deleted."
+ },
+ "404": {
+ "description": "The subscription, resource group, or Search service could not be found."
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "operationId": "Services_ListByResourceGroup",
+ "x-ms-examples": {
+ "SearchListServicesByResourceGroup": {
+ "$ref": "./examples/SearchListServicesByResourceGroup.json"
+ }
+ },
+ "description": "Gets a list of all Search services in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all Search service definitions for the given resource group.",
+ "schema": {
+ "$ref": "#/definitions/SearchServiceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "x-ms-examples": {
+ "PrivateEndpointConnectionUpdate": {
+ "$ref": "./examples/UpdatePrivateEndpointConnection.json"
+ }
+ },
+ "description": "Updates a Private Endpoint connection to the Search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The definition of the private endpoint connection to update."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing private endpoint connection definition was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "PrivateEndpointConnectionGet": {
+ "$ref": "./examples/GetPrivateEndpointConnection.json"
+ }
+ },
+ "description": "Gets the details of the private endpoint connection to the Search service in the given resource group.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not Found): The subscription, resource group, Search service or private endpoint connection could not be found.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "PrivateEndpointConnectionDelete": {
+ "$ref": "./examples/DeletePrivateEndpointConnection.json"
+ }
+ },
+ "description": "Disconnects the private endpoint connection and deletes it from the Search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "404": {
+ "description": "The subscription, resource group, Search service or private endpoint connection could not be found."
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "operationId": "Services_ListBySubscription",
+ "x-ms-examples": {
+ "SearchListServicesBySubscription": {
+ "$ref": "./examples/SearchListServicesBySubscription.json"
+ }
+ },
+ "description": "Gets a list of all Search services in the given subscription.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation succeeded. The response contains the list of all Search service definitions for the given subscription.",
+ "schema": {
+ "$ref": "#/definitions/SearchServiceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred during the operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Services"
+ ],
+ "description": "Checks whether or not the given Search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "operationId": "Services_CheckNameAvailability",
+ "x-ms-examples": {
+ "SearchCheckNameAvailability": {
+ "$ref": "./examples/SearchCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "The resource name and type to check.",
+ "x-ms-client-flatten": true,
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CheckNameAvailabilityInput": {
+ "type": "object",
+ "required": [
+ "name",
+ "type"
+ ],
+ "properties": {
+ "name": {
+ "description": "The Search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.",
+ "type": "string",
+ "enum": [
+ "searchServices"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Input of check name availability API."
+ },
+ "CheckNameAvailabilityOutput": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "x-ms-client-name": "IsNameAvailable",
+ "description": "A value indicating whether the name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableNameReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "Output of check name availability API."
+ },
+ "AdminKeyResult": {
+ "properties": {
+ "primaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary admin API key of the Search service."
+ },
+ "secondaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The secondary admin API key of the Search service."
+ }
+ },
+ "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service."
+ },
+ "QueryKey": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the query API key; may be empty."
+ },
+ "key": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The value of the query API key."
+ }
+ },
+ "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only."
+ },
+ "ListQueryKeysResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryKey"
+ },
+ "description": "The query keys for the Azure Cognitive Search service."
+ }
+ },
+ "description": "Response containing the query API keys for a given Azure Cognitive Search service.",
+ "x-ms-external": true
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The SKU of the Search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'",
+ "enum": [
+ "free",
+ "basic",
+ "standard",
+ "standard2",
+ "standard3",
+ "storage_optimized_l1",
+ "storage_optimized_l2"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private endpoint connection. This can be used with the Azure Resource Manager to link resources together.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-linked-resources"
+ }
+ },
+ "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": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service."
+ }
+ },
+ "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service."
+ },
+ "NetworkRuleSet": {
+ "properties": {
+ "endpointAccess": {
+ "type": "string",
+ "default": "Public",
+ "description": "The level of access to the search service endpoint. Public, the search service endpoint is reachable from the internet. Private, the search service endpoint can only be accessed via private endpoints. Default is Public.",
+ "enum": [
+ "Public",
+ "Private"
+ ],
+ "x-ms-enum": {
+ "name": "EndpointAccess",
+ "modelAsString": false
+ }
+ },
+ "ipRules": {
+ "type": "array",
+ "description": "A list of IP restriction rules that defines the inbound network access to the search service endpoint. These restriction rules are applied only when the EndpointAccess of the search service is Public.",
+ "items": {
+ "$ref": "#/definitions/IpRule"
+ }
+ }
+ },
+ "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached."
+ },
+ "IpRule": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed."
+ }
+ },
+ "description": "The IP restriction rule of the Azure Cognitive Search service."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource id of the private endpoint resource from Microsoft.Network provider."
+ }
+ },
+ "description": "The private endpoint resource from Microsoft.Network provider."
+ },
+ "privateLinkServiceConnectionState": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": false
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the private link service connection state."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A description of any extra actions that may be required.",
+ "default": "None"
+ }
+ },
+ "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint."
+ }
+ },
+ "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service."
+ },
+ "SearchService": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SearchServiceProperties",
+ "description": "Properties of the Search service."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes an Azure Cognitive Search service and its current state."
+ },
+ "SearchServiceProperties": {
+ "properties": {
+ "replicaCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 1,
+ "description": "The number of replicas in the Search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU."
+ },
+ "partitionCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 12,
+ "default": 1,
+ "description": "The number of partitions in the Search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3."
+ },
+ "hostingMode": {
+ "type": "string",
+ "default": "default",
+ "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.",
+ "enum": [
+ "default",
+ "highDensity"
+ ],
+ "x-ms-enum": {
+ "name": "HostingMode",
+ "modelAsString": false
+ }
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the Search service. Possible values include: 'running': The Search service is running and no provisioning operations are underway. 'provisioning': The Search service is being provisioned or scaled up or down. 'deleting': The Search service is being deleted. 'degraded': The Search service is degraded. This can occur when the underlying search units are not healthy. The Search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The Search service is disabled. In this state, the service will reject all API requests. 'error': The Search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.",
+ "enum": [
+ "running",
+ "provisioning",
+ "deleting",
+ "degraded",
+ "disabled",
+ "error"
+ ],
+ "x-ms-enum": {
+ "name": "SearchServiceStatus",
+ "modelAsString": false
+ }
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The details of the Search service status."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the last provisioning operation performed on the Search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create Search service. This is because the free service uses capacity that is already set up.",
+ "enum": [
+ "succeeded",
+ "provisioning",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false
+ }
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached."
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of private endpoint connections to the Azure Cognitive Search service."
+ }
+ },
+ "description": "Properties of the Search service."
+ },
+ "SearchServiceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SearchService"
+ },
+ "description": "The list of Search services."
+ }
+ },
+ "description": "Response containing a list of Azure Cognitive Search services.",
+ "x-ms-external": true
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the resource. This can be used with the Azure Resource Manager to link resources together.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-linked-resources"
+ }
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-rp-info"
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags to help categorize the resource in the Azure portal."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ },
+ "description": "Base type for all Azure resources.",
+ "x-ms-azure-resource": true
+ },
+ "CloudError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Describes a particular API error with an error code and a message."
+ }
+ },
+ "description": "Contains information about an API error.",
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "type": "object",
+ "description": "Describes a particular API error with an error code and a message.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message that describes the error in detail and provides debugging information."
+ },
+ "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": "Contains nested errors that are related to this error."
+ }
+ },
+ "x-ms-external": true
+ },
+ "Operation": {
+ "description": "Describes a REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that describes the operation.",
+ "readOnly": true,
+ "properties": {
+ "provider": {
+ "description": "The friendly name of the resource provider.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation type: read, write, delete, listKeys/action, etc.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource type on which the operation is performed.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "The friendly name of the operation.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true,
+ "description": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of operation list results, if any."
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ }
+ },
+ "parameters": {
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "x-ms-parameter-location": "method"
+ },
+ "SearchServiceNameParameter": {
+ "name": "searchServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Cognitive Search service associated with the specified resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ClientRequestIdParameter": {
+ "name": "x-ms-client-request-id",
+ "x-ms-client-name": "clientRequestId",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.",
+ "x-ms-client-request-id": true,
+ "x-ms-parameter-grouping": {
+ "name": "search-management-request-options"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for each request. The current version is 2019-10-01-Preview."
+ }
+ }
+}
diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json
index a31580acc364..e083026e9cbc 100644
--- a/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json
+++ b/specification/search/resource-manager/Microsoft.Search/stable/2015-08-19/search.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "SearchManagementClient",
- "description": "Client that can be used to manage Azure Search services and API keys.",
+ "description": "Client that can be used to manage Azure Cognitive Search services and API keys.",
"version": "2015-08-19"
},
"host": "management.azure.com",
@@ -70,7 +70,7 @@
"$ref": "./examples/SearchGetAdminKeys.json"
}
},
- "description": "Gets the primary and secondary admin API keys for the specified Azure Search service.",
+ "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.",
"externalDocs": {
"url": "https://aka.ms/search-manage"
},
@@ -93,7 +93,7 @@
],
"responses": {
"200": {
- "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform any operations on your Search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
+ "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your Search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.",
"schema": {
"$ref": "#/definitions/AdminKeyResult"
}
@@ -211,7 +211,7 @@
],
"responses": {
"200": {
- "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
"schema": {
"$ref": "#/definitions/QueryKey"
}
@@ -233,13 +233,14 @@
"x-ms-pageable": {
"nextLinkName": null
},
- "operationId": "QueryKeys_ListBySearchService",
+ "operationId": "QueryKeys_ListBySearchServiceGet",
"x-ms-examples": {
"SearchListQueryKeysBySearchService": {
"$ref": "./examples/SearchListQueryKeysBySearchService.json"
}
},
- "description": "Returns the list of query API keys for the given Azure Search service.",
+ "description": "Returns the list of query API keys for the given Azure Cognitive Search service.",
+ "deprecated": true,
"externalDocs": {
"url": "https://aka.ms/search-manage"
},
@@ -262,7 +263,7 @@
],
"responses": {
"200": {
- "description": "All query keys for the given Search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
+ "description": "All query keys for the given Search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.",
"schema": {
"$ref": "#/definitions/ListQueryKeysResult"
}
@@ -274,6 +275,55 @@
}
}
}
+ },
+ "post": {
+ "tags": [
+ "QueryKeys"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "operationId": "QueryKeys_ListBySearchService",
+ "x-ms-examples": {
+ "SearchListQueryKeysBySearchService": {
+ "$ref": "./examples/SearchListQueryKeysBySearchService.json"
+ }
+ },
+ "description": "Returns the list of query API keys for the given Azure Cognitive Search service.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-manage"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SearchServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All query keys for the given Search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in teh Azure Cognitive Search Service REST API or SDK to perform read-only operations on you Search indexes such as querying and looking up documents by ID.",
+ "schema": {
+ "$ref": "#/definitions/ListQueryKeysResult"
+ }
+ },
+ "default": {
+ "description": "HTTP 404 (Not found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": {
@@ -361,7 +411,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created."
+ "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created."
},
{
"name": "service",
@@ -430,7 +480,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Search service to update."
+ "description": "The name of the Azure Cognitive Search service to update."
},
{
"name": "service",
@@ -777,7 +827,7 @@
"description": "The secondary admin API key of the Search service."
}
},
- "description": "Response containing the primary and secondary admin API keys for a given Azure Search service."
+ "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service."
},
"QueryKey": {
"properties": {
@@ -792,7 +842,7 @@
"description": "The value of the query API key."
}
},
- "description": "Describes an API key for a given Azure Search service that has permissions for query operations only."
+ "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only."
},
"ListQueryKeysResult": {
"properties": {
@@ -802,10 +852,10 @@
"items": {
"$ref": "#/definitions/QueryKey"
},
- "description": "The query keys for the Azure Search service."
+ "description": "The query keys for the Azure Cognitive Search service."
}
},
- "description": "Response containing the query API keys for a given Azure Search service.",
+ "description": "Response containing the query API keys for a given Azure Cognitive Search service.",
"x-ms-external": true
},
"Sku": {
@@ -828,7 +878,7 @@
}
}
},
- "description": "Defines the SKU of an Azure Search Service, which determines price tier and capacity limits.",
+ "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.",
"externalDocs": {
"url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/"
}
@@ -853,7 +903,7 @@
"$ref": "#/definitions/Resource"
}
],
- "description": "Describes an Azure Search service and its current state."
+ "description": "Describes an Azure Cognitive Search service and its current state."
},
"SearchServiceProperties": {
"properties": {
@@ -889,7 +939,7 @@
"status": {
"readOnly": true,
"type": "string",
- "description": "The status of the Search service. Possible values include: 'running': The Search service is running and no provisioning operations are underway. 'provisioning': The Search service is being provisioned or scaled up or down. 'deleting': The Search service is being deleted. 'degraded': The Search service is degraded. This can occur when the underlying search units are not healthy. The Search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The Search service is disabled. In this state, the service will reject all API requests. 'error': The Search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.",
+ "description": "The status of the Search service. Possible values include: 'running': The Search service is running and no provisioning operations are underway. 'provisioning': The Search service is being provisioned or scaled up or down. 'deleting': The Search service is being deleted. 'degraded': The Search service is degraded. This can occur when the underlying search units are not healthy. The Search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The Search service is disabled. In this state, the service will reject all API requests. 'error': The Search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.",
"enum": [
"running",
"provisioning",
@@ -936,7 +986,7 @@
"description": "The list of Search services."
}
},
- "description": "Response containing a list of Azure Search services.",
+ "description": "Response containing a list of Azure Cognitive Search services.",
"x-ms-external": true
},
"Resource": {
@@ -1125,7 +1175,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the Azure Search service associated with the specified resource group.",
+ "description": "The name of the Azure Cognitive Search service associated with the specified resource group.",
"x-ms-parameter-location": "method"
},
"ClientRequestIdParameter": {
diff --git a/specification/search/resource-manager/readme.md b/specification/search/resource-manager/readme.md
index 100c48da579c..24d291ac3c59 100644
--- a/specification/search/resource-manager/readme.md
+++ b/specification/search/resource-manager/readme.md
@@ -48,6 +48,14 @@ input-file:
- Microsoft.Search/stable/2015-02-28/search.json
```
+### Tag: package-2019-10-preview
+
+These settings apply only when `--tag=package-2019-10-preview` is specified on the command line.
+``` yaml $(tag) == 'package-2019-10-preview'
+input-file:
+- Microsoft.Search/preview/2019-10-01-preview/search.json
+```
+
---
# Code Generation
@@ -154,6 +162,7 @@ require: $(this-folder)/../../../profiles/readme.md
input-file:
- $(this-folder)/Microsoft.Search/stable/2015-08-19/search.json
- $(this-folder)/Microsoft.Search/stable/2015-02-28/search.json
+ - $(this-folder)/Microsoft.Search/preview/2019-10-01-preview/search.json
```
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
index 505357b63799..b04c02b7d1af 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json
@@ -168,6 +168,49 @@
}
}
}
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an application control VM/server group": {
+ "$ref": "./examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json"
+ }
+ },
+ "tags": [
+ "applicationWhitelistings"
+ ],
+ "description": "Delete an application control VM/server group",
+ "operationId": "AdaptiveApplicationControls_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/AscLocation"
+ },
+ {
+ "$ref": "#/parameters/GroupName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - The response indicates that the delete operation completed successfully"
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "No Content. The response indicates the resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
}
}
},
@@ -274,6 +317,15 @@
"None"
]
},
+ "EnforcementSupport": {
+ "type": "string",
+ "description": "The VM/server supportability of Enforce feature",
+ "enum": [
+ "Supported",
+ "NotSupported",
+ "Unknown"
+ ]
+ },
"ProtectionMode": {
"type": "object",
"description": "The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux.",
@@ -395,6 +447,9 @@
},
"resourceId": {
"$ref": "#/definitions/VmResourceId"
+ },
+ "enforcementSupport": {
+ "$ref": "#/definitions/EnforcementSupport"
}
}
},
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json
new file mode 100644
index 000000000000..becfa217a797
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2015-06-01-preview",
+ "subscriptionId": "3eeab341-f466-499c-a8be-85427e154baf",
+ "groupName": "GROUP1",
+ "ascLocation": "centralus"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json
index 2139161dea73..835920be358e 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json
@@ -24,12 +24,14 @@
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/matanvs/providers/microsoft.compute/virtualmachines/matanvs19",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
}
],
"pathRecommendations": [
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json
index 2434125dbc69..4d617b11c54b 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json
@@ -26,17 +26,20 @@
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/erelh-dsc/providers/microsoft.compute/virtualmachines/erelh-14011",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/amit-va/providers/microsoft.compute/virtualmachines/ream-test",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/v-arrikl-scheduledapps/providers/microsoft.compute/virtualmachines/v-arrikl-14060",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
}
],
"pathRecommendations": [
@@ -138,7 +141,8 @@
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "NotSupported"
}
],
"pathRecommendations": [
@@ -188,22 +192,26 @@
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/talk-va/providers/microsoft.compute/virtualmachines/tal-win-vm",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/talk-va/providers/microsoft.compute/virtualmachines/tal-win-vm-jit",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvmweb",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/v-arrikl-scheduledapps/providers/microsoft.compute/virtualmachines/v-arrikl-14061",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
}
],
"pathRecommendations": [
@@ -343,7 +351,8 @@
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/nic-no-pip/providers/microsoft.compute/virtualmachines/nic-no-pip-vm",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Unknown"
}
],
"pathRecommendations": [
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json
index e9673ad953e8..da0aa89f8c4e 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json
@@ -19,12 +19,14 @@
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/erelh-stable/providers/microsoft.compute/virtualmachines/erelh-16090",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
},
{
"configurationStatus": "Configured",
"resourceId": "/subscriptions/3eeab341-f466-499c-a8be-85427e154baf/resourcegroups/matanvs/providers/microsoft.compute/virtualmachines/matanvs19",
- "recommendationAction": "Recommended"
+ "recommendationAction": "Recommended",
+ "enforcementSupport": "Supported"
}
],
"pathRecommendations": [
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json
new file mode 100644
index 000000000000..cd2adb339f49
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json
@@ -0,0 +1,530 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2019-01-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.Security/assessmentMetadata": {
+ "get": {
+ "x-ms-examples": {
+ "List security assessment metadata": {
+ "$ref": "./examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on all assessment types",
+ "operationId": "AssessmentsMetadata_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadataList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Security/assessmentMetadata/{assessmentMetadataName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security assessment metadata": {
+ "$ref": "./examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on an assessment type",
+ "operationId": "AssessmentsMetadata_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/assessmentMetadata": {
+ "get": {
+ "x-ms-examples": {
+ "List security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on all assessment types in a specific subscription",
+ "operationId": "AssessmentsMetadataSubscription_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadataList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/assessmentMetadata/{assessmentMetadataName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on an assessment type in a specific subscription",
+ "operationId": "AssessmentsMetadataSubscription_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Create metadata information on an assessment type in a specific subscription",
+ "operationId": "AssessmentsMetadataSubscription_Create",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/SecurityAssessmentMetadata"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Delete metadata information on an assessment type in a specific subscription, will cause the deletion of all the assessments of that type in that subscription",
+ "operationId": "AssessmentsMetadataSubscription_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityAssessmentMetadataList": {
+ "type": "object",
+ "description": "List of security assessment metadata",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "SecurityAssessmentMetadata": {
+ "type": "object",
+ "description": "Security assessment metadata",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecurityAssessmentMetadataProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SecurityAssessmentMetadataProperties": {
+ "type": "object",
+ "description": "Describes properties of an assessment metadata.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User friendly display name of the assessment"
+ },
+ "policyDefinitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure resource ID of the policy definition that turns this assessment calculation on"
+ },
+ "description": {
+ "type": "string",
+ "description": "Human readable description of the assessment"
+ },
+ "remediationDescription": {
+ "type": "string",
+ "description": "Human readable description of what you should do to mitigate this security issue"
+ },
+ "category": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The category of resource that is at risk when the assessment is unhealthy",
+ "enum": [
+ "Compute",
+ "Networking",
+ "Data",
+ "IdentityAndAccess",
+ "IoT"
+ ],
+ "x-ms-enum": {
+ "name": "category",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Compute"
+ },
+ {
+ "value": "Networking"
+ },
+ {
+ "value": "Data"
+ },
+ {
+ "value": "IdentityAndAccess"
+ },
+ {
+ "value": "IoT"
+ }
+ ]
+ }
+ }
+ },
+ "severity": {
+ "type": "string",
+ "description": "The severity level of the assessment",
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "severity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Low"
+ },
+ {
+ "value": "Medium"
+ },
+ {
+ "value": "High"
+ }
+ ]
+ }
+ },
+ "userImpact": {
+ "type": "string",
+ "description": "The user impact of the assessment",
+ "enum": [
+ "Low",
+ "Moderate",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "userImpact",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Low"
+ },
+ {
+ "value": "Moderate"
+ },
+ {
+ "value": "High"
+ }
+ ]
+ }
+ },
+ "implementationEffort": {
+ "type": "string",
+ "description": "The implementation effort required to remediate this assessment",
+ "enum": [
+ "Low",
+ "Moderate",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "implementationEffort",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Low"
+ },
+ {
+ "value": "Moderate"
+ },
+ {
+ "value": "High"
+ }
+ ]
+ }
+ },
+ "threats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Threats impact of the assessment",
+ "enum": [
+ "accountBreach",
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider",
+ "elevationOfPrivilege",
+ "threatResistance",
+ "missingCoverage",
+ "denialOfService"
+ ],
+ "x-ms-enum": {
+ "name": "threats",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "accountBreach"
+ },
+ {
+ "value": "dataExfiltration"
+ },
+ {
+ "value": "dataSpillage"
+ },
+ {
+ "value": "maliciousInsider"
+ },
+ {
+ "value": "elevationOfPrivilege"
+ },
+ {
+ "value": "threatResistance"
+ },
+ {
+ "value": "missingCoverage"
+ },
+ {
+ "value": "denialOfService"
+ }
+ ]
+ }
+ }
+ },
+ "preview": {
+ "type": "boolean",
+ "description": "True if this assessment is in preview release status"
+ },
+ "assessmentType": {
+ "type": "string",
+ "description": "BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition",
+ "enum": [
+ "BuiltIn",
+ "CustomPolicy",
+ "CustomerManaged"
+ ],
+ "x-ms-enum": {
+ "name": "assessmentType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "BuiltIn",
+ "description": "Azure Security Center managed assessments"
+ },
+ {
+ "value": "CustomPolicy",
+ "description": "User defined policies that are automatically ingested from Azure Policy to Azure Security Center"
+ },
+ {
+ "value": "CustomerManaged",
+ "description": "User assessments pushed directly by the user or other third party to Azure Security Center"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "displayName",
+ "severity",
+ "assessmentType"
+ ]
+ }
+ },
+ "parameters": {
+ "AssessmentsMetadataName": {
+ "name": "assessmentMetadataName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Assessment Key - Unique key for the assessment type",
+ "x-ms-parameter-location": "method"
+ },
+ "SecurityAssessmentMetadata": {
+ "name": "assessmentMetadata",
+ "in": "body",
+ "required": true,
+ "description": "AssessmentMetadata object",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/assessments.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/assessments.json
new file mode 100644
index 000000000000..9df7c5685835
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/assessments.json
@@ -0,0 +1,374 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2019-01-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.Security/assessments": {
+ "get": {
+ "x-ms-examples": {
+ "List security assessments": {
+ "$ref": "./examples/Assessments/ListAssessments_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Get security assessments on all your scanned resources inside a scope",
+ "operationId": "Assessments_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/Scope"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.Security/assessments/{assessmentName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security recommendation task from security data location": {
+ "$ref": "./examples/Assessments/GetAssessment_example.json"
+ },
+ "Get security recommendation task from security data location with expand parameter": {
+ "$ref": "./examples/Assessments/GetAssessmentWithExpand_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Get a security assessment on your scanned resource",
+ "operationId": "Assessments_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AssessmentName"
+ },
+ {
+ "$ref": "#/parameters/ExpandAssessments"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create security recommendation task on a resource": {
+ "$ref": "./examples/Assessments/PutAssessment_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Create a security assessment on your resource. An assessment metadata that describes this assessment must be predefined with the same name before inserting the assessment result",
+ "operationId": "Assessments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AssessmentName"
+ },
+ {
+ "$ref": "#/parameters/AssessmentBody"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "200": {
+ "description": "OK - Updated",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security recommendation task on a resource": {
+ "$ref": "./examples/Assessments/DeleteAssessment_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Delete a security assessment on your resource. An assessment metadata that describes this assessment must be predefined with the same name before inserting the assessment result",
+ "operationId": "Assessments_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AssessmentName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Assessment was deleted"
+ },
+ "204": {
+ "description": "No Content - Assessment does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityAssessmentList": {
+ "type": "object",
+ "description": "Page of a security assessments list",
+ "properties": {
+ "value": {
+ "description": "Collection of security assessments in this page",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "SecurityAssessment": {
+ "type": "object",
+ "description": "Security assessment on a resource",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecurityAssessmentProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SecurityAssessmentProperties": {
+ "type": "object",
+ "description": "Describes properties of an assessment.",
+ "properties": {
+ "resourceDetails": {
+ "$ref": "../../../common/v1/types.json#/definitions/ResourceDetails"
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User friendly display name of the assessment"
+ },
+ "status": {
+ "$ref": "#/definitions/AssessmentStatus"
+ },
+ "additionalData": {
+ "type": "object",
+ "description": "Additional data regarding the assessment",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "links": {
+ "$ref": "#/definitions/AssessmentLinks"
+ }
+ },
+ "required": [
+ "resourceDetails",
+ "status"
+ ]
+ },
+ "AssessmentLinks": {
+ "type": "object",
+ "description": "Links relevant to the assessment",
+ "readOnly": true,
+ "properties": {
+ "azurePortalUri": {
+ "type": "string",
+ "description": "Link to assessment in Azure Portal",
+ "readOnly": true
+ }
+ }
+ },
+ "AssessmentStatus": {
+ "type": "object",
+ "description": "The result of the assessment",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Programmatic code for the status of the assessment",
+ "enum": [
+ "Healthy",
+ "Unhealthy",
+ "NotApplicable"
+ ],
+ "x-ms-enum": {
+ "name": "AssessmentStatusCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Healthy",
+ "description": "The resource is healthy"
+ },
+ {
+ "value": "Unhealthy",
+ "description": "The resource has a security issue that needs to be addressed"
+ },
+ {
+ "value": "NotApplicable",
+ "description": "Assessment for this resource did not happen"
+ }
+ ]
+ }
+ },
+ "cause": {
+ "type": "string",
+ "description": "Programmatic code for the cause of the assessment status"
+ },
+ "description": {
+ "type": "string",
+ "description": "Human readable description of the assessment status"
+ }
+ },
+ "required": [
+ "code"
+ ]
+ }
+ },
+ "parameters": {
+ "ExpandAssessments": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData expand. Optional.",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "links",
+ "metadata"
+ ],
+ "x-ms-enum": {
+ "name": "ExpandEnum",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "links",
+ "description": "All links associated with an assessment"
+ },
+ {
+ "value": "metadata",
+ "description": "Assessment metadata"
+ }
+ ]
+ }
+ },
+ "AssessmentName": {
+ "name": "assessmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Assessment Key - Unique key for the assessment type",
+ "x-ms-parameter-location": "method"
+ },
+ "AssessmentBody": {
+ "name": "assessment",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ },
+ "description": "Calculated assessment on a pre-defined assessment metadata",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json
new file mode 100644
index 000000000000..87aacf936084
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json
@@ -0,0 +1,647 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2019-01-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.Security/automations": {
+ "get": {
+ "x-ms-examples": {
+ "List all security automations of a specified subscription": {
+ "$ref": "./examples/Automations/GetAutomationsSubscription_example.json"
+ }
+ },
+ "tags": [
+ "Automations"
+ ],
+ "description": "Lists all the security automations in the specified subscription. Use the 'nextLink' property in the response to get the next page of security automations for the specified subscription.",
+ "operationId": "Automations_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AutomationList"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/automations": {
+ "get": {
+ "x-ms-examples": {
+ "List all security automations of a specified resource group": {
+ "$ref": "./examples/Automations/GetAutomationsResourceGroup_example.json"
+ }
+ },
+ "tags": [
+ "Automations"
+ ],
+ "description": "Lists all the security automations in the specified resource group. Use the 'nextLink' property in the response to get the next page of security automations for the specified resource group.",
+ "operationId": "Automations_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AutomationList"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/automations/{automationName}": {
+ "get": {
+ "x-ms-examples": {
+ "Retrieve a security automation": {
+ "$ref": "./examples/Automations/GetAutomationResourceGroup_example.json"
+ }
+ },
+ "tags": [
+ "Automations"
+ ],
+ "description": "Retrieves information about the model of a security automation.",
+ "operationId": "Automations_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AutomationName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Automation"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create or update a security automation": {
+ "$ref": "./examples/Automations/PutAutomation_example.json"
+ },
+ "Disable or enable a security automation": {
+ "$ref": "./examples/Automations/PutDisableAutomation_example.json"
+ }
+ },
+ "tags": [
+ "Automations"
+ ],
+ "description": "Creates or updates a security automation. If a security automation is already created and a subsequent request is issued for the same automation id, then it will be updated.",
+ "operationId": "Automations_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AutomationName"
+ },
+ {
+ "$ref": "#/parameters/AutomationInBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Automation"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Automation"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security automation": {
+ "$ref": "./examples/Automations/DeleteAutomation_example.json"
+ }
+ },
+ "tags": [
+ "Automations"
+ ],
+ "operationId": "Automations_Delete",
+ "description": "Deletes a security automation.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AutomationName"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/automations/{automationName}/validate": {
+ "post": {
+ "x-ms-examples": {
+ "Validate the security automation model before create or update": {
+ "$ref": "./examples/Automations/ValidateAutomation_example.json"
+ }
+ },
+ "tags": [
+ "Automations"
+ ],
+ "description": "Validates the security automation model before create or update. Any validation errors are returned to the client.",
+ "operationId": "Automations_Validate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/AutomationName"
+ },
+ {
+ "$ref": "#/parameters/AutomationInBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AutomationValidationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response that describes why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AutomationList": {
+ "description": "List of security automations response.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The list of security automations under the given scope.",
+ "items": {
+ "$ref": "#/definitions/Automation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "Automation": {
+ "type": "object",
+ "description": "The security automation resource.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Security automation data",
+ "$ref": "#/definitions/AutomationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "AutomationProperties": {
+ "type": "object",
+ "description": "A set of properties that defines the behavior of the automation configuration. To learn more about the supported security events data models schemas - please visit https://aka.ms/ASCAutomationSchemas.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The security automation description."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Indicates whether the security automation is enabled."
+ },
+ "scopes": {
+ "type": "array",
+ "description": "A collection of scopes on which the security automations logic is applied. Supported scopes are the subscription itself or a resource group under that subscription. The automation will only apply on defined scopes.",
+ "items": {
+ "$ref": "#/definitions/AutomationScope"
+ }
+ },
+ "sources": {
+ "type": "array",
+ "description": "A collection of the source event types which evaluate the security automation set of rules.",
+ "items": {
+ "$ref": "#/definitions/AutomationSource"
+ }
+ },
+ "actions": {
+ "type": "array",
+ "description": "A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set, are true.",
+ "items": {
+ "$ref": "#/definitions/AutomationAction"
+ }
+ }
+ }
+ },
+ "AutomationSource": {
+ "type": "object",
+ "description": "The source event types which evaluate the security automation set of rules. For example - security alerts and security assessments. To learn more about the supported security events data models schemas - please visit https://aka.ms/ASCAutomationSchemas.",
+ "properties": {
+ "eventSource": {
+ "type": "string",
+ "description": "A valid event source type.",
+ "enum": [
+ "Assessments",
+ "Alerts"
+ ],
+ "x-ms-enum": {
+ "name": "EventSource",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Assessments"
+ },
+ {
+ "value": "Alerts"
+ }
+ ]
+ }
+ },
+ "ruleSets": {
+ "type": "array",
+ "description": "A set of rules which evaluate upon event interception. A logical disjunction is applied between defined rule sets (logical 'or').",
+ "items": {
+ "$ref": "#/definitions/AutomationRuleSet"
+ }
+ }
+ }
+ },
+ "AutomationScope": {
+ "type": "object",
+ "description": "A single automation scope.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The resources scope description."
+ },
+ "scopePath": {
+ "type": "string",
+ "description": "The resources scope path. Can be the subscription on which the automation is defined on or a resource group under that subscription (fully qualified Azure resource IDs)."
+ }
+ }
+ },
+ "AutomationAction": {
+ "type": "object",
+ "description": "The action that should be triggered.",
+ "discriminator": "actionType",
+ "required": [
+ "actionType"
+ ],
+ "properties": {
+ "actionType": {
+ "type": "string",
+ "description": "The type of the action that will be triggered by the Automation",
+ "enum": [
+ "LogicApp",
+ "EventHub",
+ "Workspace"
+ ],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "LogicApp"
+ },
+ {
+ "value": "EventHub"
+ },
+ {
+ "value": "Workspace"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "AutomationActionLogicApp": {
+ "type": "object",
+ "description": "The logic app action that should be triggered. To learn more about Security Center's Workflow Automation capabilities, visit https://aka.ms/ASCWorkflowAutomationLearnMore",
+ "x-ms-discriminator-value": "LogicApp",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutomationAction"
+ }
+ ],
+ "properties": {
+ "logicAppResourceId": {
+ "type": "string",
+ "description": "The triggered Logic App Azure Resource ID. This can also reside on other subscriptions, given that you have permissions to trigger the Logic App"
+ },
+ "uri": {
+ "type": "string",
+ "description": "The Logic App trigger URI endpoint (it will not be included in any response).",
+ "format": "uri"
+ }
+ }
+ },
+ "AutomationActionEventHub": {
+ "type": "object",
+ "description": "The target Event Hub to which event data will be exported. To learn more about Security Center continuous export capabilities, visit https://aka.ms/ASCExportLearnMore",
+ "x-ms-discriminator-value": "EventHub",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutomationAction"
+ }
+ ],
+ "properties": {
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The target Event Hub Azure Resource ID."
+ },
+ "sasPolicyName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The target Event Hub SAS policy name."
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "The target Event Hub connection string (it will not be included in any response)."
+ }
+ }
+ },
+ "AutomationActionWorkspace": {
+ "type": "object",
+ "description": "The Log Analytics Workspace to which event data will be exported. Security alerts data will reside in the 'SecurityAlert' table and the assessments data will reside in the 'SecurityRecommendation' table (under the 'Security'/'SecurityCenterFree' solutions). Note that in order to view the data in the workspace, the Security Center Log Analytics free/standard solution needs to be enabled on that workspace. To learn more about Security Center continuous export capabilities, visit https://aka.ms/ASCExportLearnMore",
+ "x-ms-discriminator-value": "Workspace",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutomationAction"
+ }
+ ],
+ "properties": {
+ "workspaceResourceId": {
+ "type": "string",
+ "description": "The fully qualified Log Analytics Workspace Azure Resource ID."
+ }
+ }
+ },
+ "AutomationRuleSet": {
+ "type": "object",
+ "description": "A rule set which evaluates all its rules upon an event interception. Only when all the included rules in the rule set will be evaluated as 'true', will the event trigger the defined actions.",
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutomationTriggeringRule"
+ }
+ }
+ }
+ },
+ "AutomationTriggeringRule": {
+ "type": "object",
+ "description": "A rule which is evaluated upon event interception. The rule is configured by comparing a specific value from the event model to an expected value. This comparison is done by using one of the supported operators set.",
+ "properties": {
+ "propertyJPath": {
+ "type": "string",
+ "description": "The JPath of the entity model property that should be checked."
+ },
+ "propertyType": {
+ "type": "string",
+ "description": "The data type of the compared operands (string, integer, floating point number or a boolean [true/false]]",
+ "enum": [
+ "String",
+ "Integer",
+ "Number",
+ "Boolean"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "String"
+ },
+ {
+ "value": "Integer"
+ },
+ {
+ "value": "Number"
+ },
+ {
+ "value": "Boolean"
+ }
+ ]
+ }
+ },
+ "expectedValue": {
+ "type": "string",
+ "description": "The expected value."
+ },
+ "operator": {
+ "type": "string",
+ "description": "A valid comparer operator to use. A case-insensitive comparison will be applied for String PropertyType.",
+ "enum": [
+ "Equals",
+ "GreaterThan",
+ "GreaterThanOrEqualTo",
+ "LesserThan",
+ "LesserThanOrEqualTo",
+ "NotEquals",
+ "Contains",
+ "StartsWith",
+ "EndsWith"
+ ],
+ "x-ms-enum": {
+ "name": "Operator",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Equals"
+ },
+ {
+ "value": "GreaterThan"
+ },
+ {
+ "value": "GreaterThanOrEqualTo"
+ },
+ {
+ "value": "LesserThan"
+ },
+ {
+ "value": "LesserThanOrEqualTo"
+ },
+ {
+ "value": "NotEquals"
+ },
+ {
+ "value": "Contains"
+ },
+ {
+ "value": "StartsWith"
+ },
+ {
+ "value": "EndsWith"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "AutomationValidationStatus": {
+ "type": "object",
+ "description": "The security automation model state property bag.",
+ "properties": {
+ "isValid": {
+ "type": "boolean",
+ "description": "Indicates whether the model is valid or not."
+ },
+ "message": {
+ "type": "string",
+ "description": "The validation message."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AutomationName": {
+ "name": "automationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The security automation name.",
+ "x-ms-parameter-location": "method"
+ },
+ "AutomationInBody": {
+ "name": "Automation",
+ "in": "body",
+ "required": true,
+ "description": "The security automation resource",
+ "schema": {
+ "$ref": "#/definitions/Automation"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/DeleteAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/DeleteAssessment_example.json
new file mode 100644
index 000000000000..d4c39e23b6dc
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/DeleteAssessment_example.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/GetAssessmentWithExpand_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/GetAssessmentWithExpand_example.json
new file mode 100644
index 000000000000..19b0dcfa2ba4
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/GetAssessmentWithExpand_example.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "$expand": "links"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "NotApplicable",
+ "cause": "OffByPolicy",
+ "description": "The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"
+ },
+ "additionalData": {
+ "linkedWorkspaceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"
+ },
+ "links": {
+ "azurePortalUri": "https://www.portal.azure.com/?fea#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/21300918-b2e3-0346-785f-c77ff57d243b"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/GetAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/GetAssessment_example.json
new file mode 100644
index 000000000000..652044282e4f
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/GetAssessment_example.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "NotApplicable",
+ "cause": "OffByPolicy",
+ "description": "The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"
+ },
+ "additionalData": {
+ "linkedWorkspaceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/ListAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/ListAssessments_example.json
new file mode 100644
index 000000000000..e1748ee2443c
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/ListAssessments_example.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "NotApplicable",
+ "cause": "OffByPolicy",
+ "description": "The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"
+ },
+ "additionalData": {
+ "linkedWorkspaceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/PutAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/PutAssessment_example.json
new file mode 100644
index 000000000000..f99ff77dc262
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Assessments/PutAssessment_example.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "assessment": {
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure"
+ },
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "displayName": "Install internal agent on VM",
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "displayName": "Install internal agent on VM",
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..a4f0a54edd29
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e",
+ "assessmentMetadataName": "ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "assessmentMetadata": {
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "CustomerManaged"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "name": "ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "My organization security assessment",
+ "description": "Assessment that my organization created to view our security assessment in Azure Security Center",
+ "remediationDescription": "Fix it with these remediation instructions",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "CustomerManaged"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..797cb4674202
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e",
+ "assessmentMetadataName": "ca039e75-a276-4175-aebc-bcd41e4b14b7"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
new file mode 100644
index 000000000000..d97f85567e01
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "assessmentMetadataName": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..fdd8f69fe296
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e",
+ "assessmentMetadataName": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
new file mode 100644
index 000000000000..3e0ab9018412
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "name": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Close management ports on your virtual machines",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/22730e10-96f6-4aac-ad84-9383d35b5917",
+ "description": "Open remote management ports expose your VM to a high level of risk from internet-based attacks that attempt to brute force credentials to gain admin access to the machine.",
+ "remediationDescription": "We recommend that you edit the inbound rules of the below virtual machines to restrict access to specific source ranges. To restrict the access to your virtual machines: 1. Click on a VM from the list below 2. At the 'Networking' blade, click on each of the rules that allow management ports (e.g. RDP-3389, WINRM-5985, SSH-22) 3. Change the 'Action' property to 'Deny' 4. Click 'Save'",
+ "category": [
+ "Networking"
+ ],
+ "severity": "Medium",
+ "userImpact": "High",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "preview": true,
+ "assessmentType": "CustomPolicy"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "name": "ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "My organization security assessment",
+ "description": "Assessment that my organization created to view our security assessment in Azure Security Center",
+ "remediationDescription": "Fix it with these remediation instructions",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [],
+ "assessmentType": "CustomerManaged"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..9fb42c0ddeec
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "name": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Close management ports on your virtual machines",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/22730e10-96f6-4aac-ad84-9383d35b5917",
+ "description": "Open remote management ports expose your VM to a high level of risk from internet-based attacks that attempt to brute force credentials to gain admin access to the machine.",
+ "remediationDescription": "We recommend that you edit the inbound rules of the below virtual machines to restrict access to specific source ranges. To restrict the access to your virtual machines: 1. Click on a VM from the list below 2. At the 'Networking' blade, click on each of the rules that allow management ports (e.g. RDP-3389, WINRM-5985, SSH-22) 3. Change the 'Action' property to 'Deny' 4. Click 'Save'",
+ "category": [
+ "Networking"
+ ],
+ "severity": "Medium",
+ "userImpact": "High",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "preview": true,
+ "assessmentType": "CustomPolicy"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/DeleteAutomation_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/DeleteAutomation_example.json
new file mode 100644
index 000000000000..50bddc04473a
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/DeleteAutomation_example.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "myRg",
+ "automationName": "myAutomationName"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationResourceGroup_example.json
new file mode 100644
index 000000000000..977d19b7e605
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationResourceGroup_example.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "resourceGroupName": "exampleResourceGroup",
+ "automationName": "exampleAutomation"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/automations",
+ "etag": "etag value",
+ "location": "Central US",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationsResourceGroup_example.json
new file mode 100644
index 000000000000..c011c1be0c6b
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationsResourceGroup_example.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "resourceGroupName": "exampleResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e4272367-5645-4c4e-9c67-3b74b59a6982/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/automations",
+ "etag": "etag value",
+ "location": "Central US",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationsSubscription_example.json
new file mode 100644
index 000000000000..3bb74042197c
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/GetAutomationsSubscription_example.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/automations",
+ "etag": "etag value",
+ "location": "Central US",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json
new file mode 100644
index 000000000000..f0fb970efdf8
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "automationName": "exampleAutomation",
+ "resourceGroupName": "exampleResourceGroup",
+ "Automation": {
+ "location": "Central US",
+ "etag": "etag value (must be supplied for update)",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp",
+ "uri": "https://exampleTriggerUri1.com"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/automations",
+ "location": "Central US",
+ "etag": "new etag value",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/SecurityAutomations",
+ "location": "Central US",
+ "etag": "new etag value",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutDisableAutomation_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutDisableAutomation_example.json
new file mode 100644
index 000000000000..f210cb0bc5c6
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutDisableAutomation_example.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "automationName": "exampleAutomation",
+ "resourceGroupName": "exampleResourceGroup",
+ "Automation": {
+ "location": "Central US",
+ "etag": "etag value (must be supplied for update)",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": false,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp",
+ "uri": "https://exampleTriggerUri1.com"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/automations",
+ "location": "Central US",
+ "etag": "new etag value",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": false,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation",
+ "name": "exampleAutomation",
+ "type": "Microsoft.Security/SecurityAutomations",
+ "location": "Central US",
+ "etag": "new etag value",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": false,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/ValidateAutomation_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/ValidateAutomation_example.json
new file mode 100644
index 000000000000..dc19b9e7fbad
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/ValidateAutomation_example.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "automationName": "exampleAutomation",
+ "resourceGroupName": "exampleResourceGroup",
+ "Automation": {
+ "location": "Central US",
+ "tags": {},
+ "properties": {
+ "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment",
+ "isEnabled": true,
+ "scopes": [
+ {
+ "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5",
+ "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup"
+ }
+ ],
+ "sources": [
+ {
+ "eventSource": "Assessments",
+ "ruleSets": [
+ {
+ "rules": [
+ {
+ "propertyJPath": "$.Entity.AssessmentType",
+ "propertyType": "String",
+ "expectedValue": "customAssessment",
+ "operator": "Equals"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1",
+ "actionType": "LogicApp",
+ "uri": "https://exampleTriggerUri1.com"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true,
+ "message": "Validation Successful"
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
index 75e3ec273651..7e0b487c7586 100644
--- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
+++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
@@ -236,87 +236,19 @@
"description": "The date and time the sub-assessment was generated"
},
"resourceDetails": {
- "$ref": "#/definitions/ResourceDetails"
+ "$ref": "../../../common/v1/types.json#/definitions/ResourceDetails"
},
"additionalData": {
"$ref": "#/definitions/AdditionalData"
}
}
},
- "ResourceDetails": {
- "type": "object",
- "description": "Details of the resource that was assessed",
- "discriminator": "source",
- "properties": {
- "source": {
- "readOnly": true,
- "type": "string",
- "description": "The platform where the assessed resource resides",
- "enum": [
- "Azure",
- "Aws"
- ],
- "x-ms-enum": {
- "name": "Source",
- "modelAsString": true,
- "values": [
- {
- "value": "Azure"
- },
- {
- "value": "Aws"
- }
- ]
- }
- }
- }
- },
- "AzureResourceDetails": {
- "type": "object",
- "description": "Details of the resource that was assessed",
- "x-ms-discriminator-value": "Azure",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceDetails"
- }
- ],
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Azure resource ID of the assessed resource"
- }
- }
- },
- "AwsResourceDetails": {
- "type": "object",
- "description": "Details of the resource that was assessed",
- "x-ms-discriminator-value": "Aws",
- "allOf": [
- {
- "$ref": "#/definitions/ResourceDetails"
- }
- ],
- "properties": {
- "accountId": {
- "readOnly": true,
- "type": "string",
- "description": "AWS account ID"
- },
- "awsResourceId": {
- "readOnly": true,
- "type": "string",
- "description": "AWS resource ID. can be ARN or other"
- }
- }
- },
"AdditionalData": {
"type": "object",
"description": "Details of the sub-assessment",
"discriminator": "assessedResourceType",
"properties": {
"assessedResourceType": {
- "readOnly": true,
"type": "string",
"description": "Sub-assessment resource type",
"enum": [
@@ -340,7 +272,10 @@
]
}
}
- }
+ },
+ "required": [
+ "assessedResourceType"
+ ]
},
"SubAssessmentStatus": {
"type": "object",
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
new file mode 100644
index 000000000000..96bfced0e2af
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
@@ -0,0 +1,166 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2019-01-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": {
+ "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the Advanced Threat Protection settings for the specified resource.": {
+ "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json"
+ }
+ },
+ "tags": [
+ "AdvancedThreatProtection"
+ ],
+ "description": "Gets the Advanced Threat Protection settings for the specified resource.",
+ "operationId": "AdvancedThreatProtection_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AdvancedThreatProtectionSettingName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to get Advanced Threat Protection settings.",
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or updates the Advanced Threat Protection settings on a specified resource.": {
+ "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json"
+ }
+ },
+ "tags": [
+ "AdvancedThreatProtection"
+ ],
+ "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.",
+ "operationId": "AdvancedThreatProtection_Create",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AdvancedThreatProtectionSettingName"
+ },
+ {
+ "$ref": "#/parameters/AdvancedThreatProtectionSetting"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to put Advanced Threat Protection settings.",
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AdvancedThreatProtectionProperties": {
+ "properties": {
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Indicates whether Advanced Threat Protection is enabled."
+ }
+ },
+ "description": "The Advanced Threat Protection settings."
+ },
+ "AdvancedThreatProtectionSetting": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AdvancedThreatProtectionProperties"
+ }
+ },
+ "description": "The Advanced Threat Protection resource."
+ }
+ },
+ "parameters": {
+ "AdvancedThreatProtectionSettingName": {
+ "name": "settingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "current"
+ ],
+ "description": "Advanced Threat Protection setting name.",
+ "x-ms-parameter-location": "method"
+ },
+ "AdvancedThreatProtectionSetting": {
+ "name": "advancedThreatProtectionSetting",
+ "in": "body",
+ "required": true,
+ "description": "Advanced Threat Protection Settings",
+ "schema": {
+ "$ref": "#/definitions/AdvancedThreatProtectionSetting"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json
new file mode 100644
index 000000000000..fd9c6dc599a0
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount",
+ "settingName": "current"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/current",
+ "name": "current",
+ "type": "Microsoft.Security/advancedThreatProtectionSettings",
+ "properties": {
+ "isEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json
new file mode 100644
index 000000000000..0af9838f82e6
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount",
+ "settingName": "current",
+ "advancedThreatProtectionSetting": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/current",
+ "name": "current",
+ "type": "Microsoft.Security/advancedThreatProtectionSettings",
+ "properties": {
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount/providers/Microsoft.Security/advancedThreatProtectionSettings/current",
+ "name": "current",
+ "type": "Microsoft.Security/advancedThreatProtectionSettings",
+ "properties": {
+ "isEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json
new file mode 100644
index 000000000000..47a2a8e0c452
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json
@@ -0,0 +1,561 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2020-01-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.Security/assessmentMetadata": {
+ "get": {
+ "x-ms-examples": {
+ "List security assessment metadata": {
+ "$ref": "./examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on all assessment types",
+ "operationId": "AssessmentsMetadata_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadataList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Security/assessmentMetadata/{assessmentMetadataName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security assessment metadata": {
+ "$ref": "./examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on an assessment type",
+ "operationId": "AssessmentsMetadata_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/assessmentMetadata": {
+ "get": {
+ "x-ms-examples": {
+ "List security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on all assessment types in a specific subscription",
+ "operationId": "AssessmentsMetadata_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadataList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Security/assessmentMetadata/{assessmentMetadataName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Get metadata information on an assessment type in a specific subscription",
+ "operationId": "AssessmentsMetadata_GetInSubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Create metadata information on an assessment type in a specific subscription",
+ "operationId": "AssessmentsMetadata_CreateInSubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/SecurityAssessmentMetadata"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security assessment metadata for subscription": {
+ "$ref": "./examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json"
+ }
+ },
+ "tags": [
+ "Assessments Metadata"
+ ],
+ "description": "Delete metadata information on an assessment type in a specific subscription, will cause the deletion of all the assessments of that type in that subscription",
+ "operationId": "AssessmentsMetadata_DeleteInSubscription",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/AssessmentsMetadataName"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityAssessmentMetadataList": {
+ "type": "object",
+ "description": "List of security assessment metadata",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "SecurityAssessmentMetadata": {
+ "type": "object",
+ "description": "Security assessment metadata",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecurityAssessmentMetadataProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SecurityAssessmentMetadataProperties": {
+ "type": "object",
+ "description": "Describes properties of an assessment metadata.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User friendly display name of the assessment"
+ },
+ "policyDefinitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure resource ID of the policy definition that turns this assessment calculation on"
+ },
+ "description": {
+ "type": "string",
+ "description": "Human readable description of the assessment"
+ },
+ "remediationDescription": {
+ "type": "string",
+ "description": "Human readable description of what you should do to mitigate this security issue"
+ },
+ "category": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The category of resource that is at risk when the assessment is unhealthy",
+ "enum": [
+ "Compute",
+ "Networking",
+ "Data",
+ "IdentityAndAccess",
+ "IoT"
+ ],
+ "x-ms-enum": {
+ "name": "category",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Compute"
+ },
+ {
+ "value": "Networking"
+ },
+ {
+ "value": "Data"
+ },
+ {
+ "value": "IdentityAndAccess"
+ },
+ {
+ "value": "IoT"
+ }
+ ]
+ }
+ }
+ },
+ "severity": {
+ "type": "string",
+ "description": "The severity level of the assessment",
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "severity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Low"
+ },
+ {
+ "value": "Medium"
+ },
+ {
+ "value": "High"
+ }
+ ]
+ }
+ },
+ "userImpact": {
+ "type": "string",
+ "description": "The user impact of the assessment",
+ "enum": [
+ "Low",
+ "Moderate",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "userImpact",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Low"
+ },
+ {
+ "value": "Moderate"
+ },
+ {
+ "value": "High"
+ }
+ ]
+ }
+ },
+ "implementationEffort": {
+ "type": "string",
+ "description": "The implementation effort required to remediate this assessment",
+ "enum": [
+ "Low",
+ "Moderate",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "implementationEffort",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Low"
+ },
+ {
+ "value": "Moderate"
+ },
+ {
+ "value": "High"
+ }
+ ]
+ }
+ },
+ "threats": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Threats impact of the assessment",
+ "enum": [
+ "accountBreach",
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider",
+ "elevationOfPrivilege",
+ "threatResistance",
+ "missingCoverage",
+ "denialOfService"
+ ],
+ "x-ms-enum": {
+ "name": "threats",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "accountBreach"
+ },
+ {
+ "value": "dataExfiltration"
+ },
+ {
+ "value": "dataSpillage"
+ },
+ {
+ "value": "maliciousInsider"
+ },
+ {
+ "value": "elevationOfPrivilege"
+ },
+ {
+ "value": "threatResistance"
+ },
+ {
+ "value": "missingCoverage"
+ },
+ {
+ "value": "denialOfService"
+ }
+ ]
+ }
+ }
+ },
+ "preview": {
+ "type": "boolean",
+ "description": "True if this assessment is in preview release status"
+ },
+ "assessmentType": {
+ "type": "string",
+ "description": "BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition",
+ "enum": [
+ "BuiltIn",
+ "CustomPolicy",
+ "CustomerManaged",
+ "VerifiedPartner"
+ ],
+ "x-ms-enum": {
+ "name": "assessmentType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "BuiltIn",
+ "description": "Azure Security Center managed assessments"
+ },
+ {
+ "value": "CustomPolicy",
+ "description": "User defined policies that are automatically ingested from Azure Policy to Azure Security Center"
+ },
+ {
+ "value": "CustomerManaged",
+ "description": "User assessments pushed directly by the user or other third party to Azure Security Center"
+ },
+ {
+ "value": "VerifiedPartner",
+ "description": "An assessment that was created by a verified 3rd party if the user connected it to ASC"
+ }
+ ]
+ }
+ },
+ "partnerData": {
+ "$ref": "#/definitions/SecurityAssessmentMetadataPartnerData"
+ }
+ },
+ "required": [
+ "displayName",
+ "severity",
+ "assessmentType"
+ ]
+ },
+ "SecurityAssessmentMetadataPartnerData": {
+ "type": "object",
+ "description": "Describes the partner that created the assessment",
+ "properties": {
+ "partnerName": {
+ "type": "string",
+ "description": "Name of the company of the partner"
+ },
+ "productName": {
+ "type": "string",
+ "description": "Name of the product of the partner that created the assessment"
+ },
+ "secret": {
+ "type": "string",
+ "description": "Secret to authenticate the partner and verify it created the assessment - write only",
+ "x-ms-secret": true
+ }
+ },
+ "required": [
+ "partnerName",
+ "secret"
+ ]
+ }
+ },
+ "parameters": {
+ "AssessmentsMetadataName": {
+ "name": "assessmentMetadataName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Assessment Key - Unique key for the assessment type",
+ "x-ms-parameter-location": "method"
+ },
+ "SecurityAssessmentMetadata": {
+ "name": "assessmentMetadata",
+ "in": "body",
+ "required": true,
+ "description": "AssessmentMetadata object",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentMetadata"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/assessments.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/assessments.json
new file mode 100644
index 000000000000..f3f48a5a6f61
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/assessments.json
@@ -0,0 +1,399 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Center",
+ "description": "API spec for Microsoft.Security (Azure Security Center) resource provider",
+ "version": "2020-01-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": {
+ "/{scope}/providers/Microsoft.Security/assessments": {
+ "get": {
+ "x-ms-examples": {
+ "List security assessments": {
+ "$ref": "./examples/Assessments/ListAssessments_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Get security assessments on all your scanned resources inside a scope",
+ "operationId": "Assessments_List",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/Scope"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.Security/assessments/{assessmentName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get security recommendation task from security data location": {
+ "$ref": "./examples/Assessments/GetAssessment_example.json"
+ },
+ "Get security recommendation task from security data location with expand parameter": {
+ "$ref": "./examples/Assessments/GetAssessmentWithExpand_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Get a security assessment on your scanned resource",
+ "operationId": "Assessments_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AssessmentName"
+ },
+ {
+ "$ref": "#/parameters/ExpandAssessments"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create security recommendation task on a resource": {
+ "$ref": "./examples/Assessments/PutAssessment_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Create a security assessment on your resource. An assessment metadata that describes this assessment must be predefined with the same name before inserting the assessment result",
+ "operationId": "Assessments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AssessmentName"
+ },
+ {
+ "$ref": "#/parameters/AssessmentBody"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "200": {
+ "description": "OK - Updated",
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete a security recommendation task on a resource": {
+ "$ref": "./examples/Assessments/DeleteAssessment_example.json"
+ }
+ },
+ "tags": [
+ "Assessments"
+ ],
+ "description": "Delete a security assessment on your resource. An assessment metadata that describes this assessment must be predefined with the same name before inserting the assessment result",
+ "operationId": "Assessments_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceId"
+ },
+ {
+ "$ref": "#/parameters/AssessmentName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Assessment was deleted"
+ },
+ "204": {
+ "description": "No Content - Assessment does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/types.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SecurityAssessmentList": {
+ "type": "object",
+ "description": "Page of a security assessments list",
+ "properties": {
+ "value": {
+ "description": "Collection of security assessments in this page",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecurityAssessment"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI to fetch the next page."
+ }
+ }
+ },
+ "SecurityAssessment": {
+ "type": "object",
+ "description": "Security assessment on a resource",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecurityAssessmentProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SecurityAssessmentProperties": {
+ "type": "object",
+ "description": "Describes properties of an assessment.",
+ "properties": {
+ "resourceDetails": {
+ "$ref": "../../../common/v1/types.json#/definitions/ResourceDetails"
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User friendly display name of the assessment"
+ },
+ "status": {
+ "$ref": "#/definitions/AssessmentStatus"
+ },
+ "additionalData": {
+ "type": "object",
+ "description": "Additional data regarding the assessment",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "links": {
+ "$ref": "#/definitions/AssessmentLinks"
+ },
+ "metadata": {
+ "$ref": "./assessmentMetadata.json#/definitions/SecurityAssessmentMetadataProperties"
+ },
+ "partnersData": {
+ "$ref": "#/definitions/SecurityAssessmentPartnerData"
+ }
+ },
+ "required": [
+ "resourceDetails",
+ "status"
+ ]
+ },
+ "SecurityAssessmentPartnerData": {
+ "type": "object",
+ "description": "Data regarding 3rd party partner integration",
+ "properties": {
+ "partnerName": {
+ "type": "string",
+ "description": "Name of the company of the partner"
+ },
+ "secret": {
+ "type": "string",
+ "description": "secret to authenticate the partner - write only",
+ "x-ms-secret": true
+ }
+ },
+ "required": [
+ "partnerName",
+ "secret"
+ ]
+ },
+ "AssessmentLinks": {
+ "type": "object",
+ "description": "Links relevant to the assessment",
+ "readOnly": true,
+ "properties": {
+ "azurePortalUri": {
+ "type": "string",
+ "description": "Link to assessment in Azure Portal",
+ "readOnly": true
+ }
+ }
+ },
+ "AssessmentStatus": {
+ "type": "object",
+ "description": "The result of the assessment",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Programmatic code for the status of the assessment",
+ "enum": [
+ "Healthy",
+ "Unhealthy",
+ "NotApplicable"
+ ],
+ "x-ms-enum": {
+ "name": "AssessmentStatusCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Healthy",
+ "description": "The resource is healthy"
+ },
+ {
+ "value": "Unhealthy",
+ "description": "The resource has a security issue that needs to be addressed"
+ },
+ {
+ "value": "NotApplicable",
+ "description": "Assessment for this resource did not happen"
+ }
+ ]
+ }
+ },
+ "cause": {
+ "type": "string",
+ "description": "Programmatic code for the cause of the assessment status"
+ },
+ "description": {
+ "type": "string",
+ "description": "Human readable description of the assessment status"
+ }
+ },
+ "required": [
+ "code"
+ ]
+ }
+ },
+ "parameters": {
+ "ExpandAssessments": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData expand. Optional.",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "links",
+ "metadata"
+ ],
+ "x-ms-enum": {
+ "name": "ExpandEnum",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "links",
+ "description": "All links associated with an assessment"
+ },
+ {
+ "value": "metadata",
+ "description": "Assessment metadata"
+ }
+ ]
+ }
+ },
+ "AssessmentName": {
+ "name": "assessmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Assessment Key - Unique key for the assessment type",
+ "x-ms-parameter-location": "method"
+ },
+ "AssessmentBody": {
+ "name": "assessment",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecurityAssessment"
+ },
+ "description": "Calculated assessment on a pre-defined assessment metadata",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/DeleteAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/DeleteAssessment_example.json
new file mode 100644
index 000000000000..5c8971c3bf59
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/DeleteAssessment_example.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/GetAssessmentWithExpand_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/GetAssessmentWithExpand_example.json
new file mode 100644
index 000000000000..eff07cfaf4de
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/GetAssessmentWithExpand_example.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "$expand": "links"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "NotApplicable",
+ "cause": "OffByPolicy",
+ "description": "The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"
+ },
+ "additionalData": {
+ "linkedWorkspaceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"
+ },
+ "links": {
+ "azurePortalUri": "https://www.portal.azure.com/?fea#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/21300918-b2e3-0346-785f-c77ff57d243b"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/GetAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/GetAssessment_example.json
new file mode 100644
index 000000000000..6db02e032bfa
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/GetAssessment_example.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "NotApplicable",
+ "cause": "OffByPolicy",
+ "description": "The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"
+ },
+ "additionalData": {
+ "linkedWorkspaceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/ListAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/ListAssessments_example.json
new file mode 100644
index 000000000000..78b7a01d1cb6
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/ListAssessments_example.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2/providers/Microsoft.Security/assessments/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2"
+ },
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "status": {
+ "code": "NotApplicable",
+ "cause": "OffByPolicy",
+ "description": "The effective policy for the assessment was evaluated to off - use Microsoft.Authorization/policyAssignments to turn this assessment on"
+ },
+ "additionalData": {
+ "linkedWorkspaceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myLaWorkspace"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/PutAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/PutAssessment_example.json
new file mode 100644
index 000000000000..63873813b0ac
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Assessments/PutAssessment_example.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "resourceId": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss2",
+ "assessmentName": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "assessment": {
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure"
+ },
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "displayName": "Install internal agent on VM",
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "name": "8bb8be0a-6010-4789-812f-e4d661c4ed0e",
+ "type": "Microsoft.Security/assessments",
+ "properties": {
+ "resourceDetails": {
+ "source": "Azure",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/8bb8be0a-6010-4789-812f-e4d661c4ed0e"
+ },
+ "displayName": "Install internal agent on VM",
+ "status": {
+ "code": "Healthy"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..617146f3ec81
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/CreateAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e",
+ "assessmentMetadataName": "ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "assessmentMetadata": {
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "CustomerManaged"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "name": "ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "My organization security assessment",
+ "description": "Assessment that my organization created to view our security assessment in Azure Security Center",
+ "remediationDescription": "Fix it with these remediation instructions",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "CustomerManaged"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..1ab5daf14e38
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/DeleteAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e",
+ "assessmentMetadataName": "ca039e75-a276-4175-aebc-bcd41e4b14b7"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
new file mode 100644
index 000000000000..f2202a19c14f
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_example.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "assessmentMetadataName": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..ae60eb4cbb9e
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/GetAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e",
+ "assessmentMetadataName": "21300918-b2e3-0346-785f-c77ff57d243b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
new file mode 100644
index 000000000000..937869acbbd8
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_example.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "name": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Close management ports on your virtual machines",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/22730e10-96f6-4aac-ad84-9383d35b5917",
+ "description": "Open remote management ports expose your VM to a high level of risk from internet-based attacks that attempt to brute force credentials to gain admin access to the machine.",
+ "remediationDescription": "We recommend that you edit the inbound rules of the below virtual machines to restrict access to specific source ranges. To restrict the access to your virtual machines: 1. Click on a VM from the list below 2. At the 'Networking' blade, click on each of the rules that allow management ports (e.g. RDP-3389, WINRM-5985, SSH-22) 3. Change the 'Action' property to 'Deny' 4. Click 'Save'",
+ "category": [
+ "Networking"
+ ],
+ "severity": "Medium",
+ "userImpact": "High",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "preview": true,
+ "assessmentType": "CustomPolicy"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "name": "ca039e75-a276-4175-aebc-bcd41e4b14b7",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "My organization security assessment",
+ "description": "Assessment that my organization created to view our security assessment in Azure Security Center",
+ "remediationDescription": "Fix it with these remediation instructions",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [],
+ "assessmentType": "CustomerManaged"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
new file mode 100644
index 000000000000..8bde3eae2b3d
--- /dev/null
+++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/AssessmentsMetadata/ListAssessmentsMetadata_subscription_example.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "0980887d-03d6-408c-9566-532f3456804e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/21300918-b2e3-0346-785f-c77ff57d243b",
+ "name": "21300918-b2e3-0346-785f-c77ff57d243b",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Install endpoint protection solution on virtual machine scale sets",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/26a828e1-e88f-464e-bbb3-c134a282b9de",
+ "description": "Install an endpoint protection solution on your virtual machines scale sets, to protect them from threats and vulnerabilities.",
+ "remediationDescription": "To install an endpoint protection solution: 1. Follow the instructions in How do I turn on antimalware in my virtual machine scale set",
+ "category": [
+ "Compute"
+ ],
+ "severity": "Medium",
+ "userImpact": "Low",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "assessmentType": "BuiltIn"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Security/assessmentMetadata/bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "name": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
+ "type": "Microsoft.Security/assessmentMetadata",
+ "properties": {
+ "displayName": "Close management ports on your virtual machines",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/22730e10-96f6-4aac-ad84-9383d35b5917",
+ "description": "Open remote management ports expose your VM to a high level of risk from internet-based attacks that attempt to brute force credentials to gain admin access to the machine.",
+ "remediationDescription": "We recommend that you edit the inbound rules of the below virtual machines to restrict access to specific source ranges. To restrict the access to your virtual machines: 1. Click on a VM from the list below 2. At the 'Networking' blade, click on each of the rules that allow management ports (e.g. RDP-3389, WINRM-5985, SSH-22) 3. Change the 'Action' property to 'Deny' 4. Click 'Save'",
+ "category": [
+ "Networking"
+ ],
+ "severity": "Medium",
+ "userImpact": "High",
+ "implementationEffort": "Low",
+ "threats": [
+ "dataExfiltration",
+ "dataSpillage",
+ "maliciousInsider"
+ ],
+ "preview": true,
+ "assessmentType": "CustomPolicy"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json
index 6afed51f7d77..5996220fe2bc 100644
--- a/specification/security/resource-manager/common/v1/types.json
+++ b/specification/security/resource-manager/common/v1/types.json
@@ -57,6 +57,50 @@
},
"x-ms-azure-resource": true
},
+ "TrackedResource": {
+ "type": "object",
+ "description": "Describes an Azure tracked resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/Location"
+ },
+ {
+ "$ref": "#/definitions/Kind"
+ },
+ {
+ "$ref": "#/definitions/ETag"
+ },
+ {
+ "$ref": "#/definitions/Tags"
+ }
+ ]
+ },
+ "ETag": {
+ "type": "object",
+ "description": "Entity tag is used for comparing two or more entities from the same requested resource.",
+ "properties": {
+ "etag": {
+ "type": "string",
+ "description": "Entity tag is used for comparing two or more entities from the same requested resource."
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "description": "A list of key value pairs that describe the resource.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "A list of key value pairs that describe the resource.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
"Kind": {
"type": "object",
"description": "Describes an Azure resource with kind",
@@ -114,6 +158,89 @@
"AscLocationProperties": {
"type": "object",
"description": "An empty set of properties"
+ },
+ "ResourceDetails": {
+ "type": "object",
+ "description": "Details of the resource that was assessed",
+ "discriminator": "source",
+ "properties": {
+ "source": {
+ "type": "string",
+ "description": "The platform where the assessed resource resides",
+ "enum": [
+ "Azure",
+ "OnPremise"
+ ],
+ "x-ms-enum": {
+ "name": "source",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Azure",
+ "description": "Resource is in Azure"
+ },
+ {
+ "value": "OnPremise",
+ "description": "Resource in an on premise machine connected to Azure cloud"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "source"
+ ]
+ },
+ "AzureResourceDetails": {
+ "type": "object",
+ "description": "Details of the Azure resource that was assessed",
+ "x-ms-discriminator-value": "Azure",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceDetails"
+ }
+ ],
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure resource Id of the assessed resource"
+ }
+ }
+ },
+ "OnPremiseResourceDetails": {
+ "type": "object",
+ "description": "Details of the On Premise resource that was assessed",
+ "x-ms-discriminator-value": "OnPremise",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceDetails"
+ }
+ ],
+ "properties": {
+ "workspaceId": {
+ "type": "string",
+ "description": "Azure resource Id of the workspace the machine is attached to"
+ },
+ "vmuuid": {
+ "type": "string",
+ "description": "The unique Id of the machine"
+ },
+ "sourceComputerId": {
+ "type": "string",
+ "description": "The oms agent Id installed on the machine"
+ },
+ "machineName": {
+ "type": "string",
+ "description": "The name of the machine"
+ }
+ },
+ "required": [
+ "workspaceId",
+ "vmuuid",
+ "sourceComputerId",
+ "machineName"
+ ]
}
},
"parameters": {
diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md
index add89d61fde1..299d49432ab6 100644
--- a/specification/security/resource-manager/readme.md
+++ b/specification/security/resource-manager/readme.md
@@ -28,6 +28,10 @@ directive:
from: securityContacts.json
where: $.definitions.SecurityContactProperties.properties.email.format
reason: email format is allowed
+ - suppress: ValidFormats
+ from: automations.json
+ where: $.definitions.AutomationActionLogicApp.properties.uri.format
+ reason: uri format is allowed
- suppress: PageableOperation
from: iotSecuritySolutionAnalytics.json
where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels"].get'
@@ -55,6 +59,7 @@ These settings apply only when `--tag=package-composite-v1` is specified on the
``` yaml $(tag) == 'package-composite-v1'
input-file:
+- Microsoft.Security/preview/2019-01-01-preview/automations.json
- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
- Microsoft.Security/preview/2017-08-01-preview/pricings.json
@@ -89,6 +94,7 @@ These settings apply only when `--tag=package-composite-v2` is specified on the
``` yaml $(tag) == 'package-composite-v2'
input-file:
+- Microsoft.Security/preview/2019-01-01-preview/automations.json
- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
- Microsoft.Security/stable/2018-06-01/pricings.json
@@ -129,6 +135,7 @@ input-file:
- Microsoft.Security/stable/2018-06-01/pricings.json
- Microsoft.Security/stable/2019-01-01/alerts.json
- Microsoft.Security/stable/2019-01-01/settings.json
+- Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
- Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json
- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
@@ -141,7 +148,6 @@ input-file:
- Microsoft.Security/preview/2015-06-01-preview/operations.json
- Microsoft.Security/preview/2015-06-01-preview/tasks.json
- Microsoft.Security/preview/2015-06-01-preview/topologies.json
-- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json
- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json
- Microsoft.Security/preview/2017-08-01-preview/compliances.json
- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json
@@ -150,6 +156,9 @@ input-file:
- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json
- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
+- Microsoft.Security/preview/2019-01-01-preview/automations.json
+- Microsoft.Security/stable/2020-01-01/assessmentMetadata.json
+- Microsoft.Security/stable/2020-01-01/assessments.json
# Needed when there is more than one input file
override-info:
@@ -210,6 +219,8 @@ These settings apply only when `--tag=package-2019-01-preview-only` is specified
input-file:
- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json
+- Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json
+- Microsoft.Security/preview/2019-01-01-preview/assessments.json
# Needed when there is more than one input file
override-info:
@@ -324,6 +335,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json
- $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json
- $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json
- $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/pricings.json
@@ -352,10 +364,15 @@ input-file:
- $(this-folder)/Microsoft.Security/stable/2019-01-01/alerts.json
- $(this-folder)/Microsoft.Security/stable/2017-08-01/complianceResults.json
- $(this-folder)/Microsoft.Security/stable/2019-01-01/settings.json
+ - $(this-folder)/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json
- $(this-folder)/Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json
- $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json
- $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json
- $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json
+ - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessments.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json
+ - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json
```
@@ -365,4 +382,4 @@ uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
+```
\ No newline at end of file
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json
index e7d8ee703546..9aa47e081b7a 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json
@@ -1443,6 +1443,57 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand": {
+ "post": {
+ "x-ms-examples": {
+ "Expand an bookmark": {
+ "$ref": "./examples/bookmarks/expand/PostExpandBookmark.json"
+ }
+ },
+ "description": "Expand an bookmark",
+ "operationId": "Bookmark_Expand",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/BookmarkId"
+ },
+ {
+ "$ref": "#/parameters/BookmarkExpandRequestBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BookmarkExpandResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "tags": [
+ "Bookmark"
+ ]
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}": {
"get": {
"x-ms-examples": {
@@ -1658,6 +1709,9 @@
"Get a TI data connector.": {
"$ref": "./examples/dataConnectors/GetThreatIntelligenceById.json"
},
+ "Get a TI Taxii data connector.": {
+ "$ref": "./examples/dataConnectors/GetThreatIntelligenceTaxiiById.json"
+ },
"Get a MCAS data connector.": {
"$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json"
},
@@ -1819,6 +1873,75 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorsCheckRequirements": {
+ "post": {
+ "x-ms-examples": {
+ "Check requirements for TI.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligence.json"
+ },
+ "Check requirements for TI Taxii.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json"
+ },
+ "Check requirements for AAD.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json"
+ },
+ "Check requirements for AAD - no license.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json"
+ },
+ "Check requirements for AAD - no authorization.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json"
+ },
+ "Check requirements for ASC.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json"
+ },
+ "Check requirements for Mcas.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json"
+ },
+ "Check requirements for Mdatp.": {
+ "$ref": "./examples/dataConnectors/CheckRequirementsMdatp.json"
+ }
+ },
+ "tags": [
+ "Check Data Connector Requirements"
+ ],
+ "description": "Get requirements state for a data connector type.",
+ "operationId": "listDataConnectorRequirements",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/DataConnectorsCheckRequirementsBody"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataConnectorRequirementsState"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities": {
"get": {
"x-ms-examples": {
@@ -1914,6 +2037,9 @@
},
"Get a url entity.": {
"$ref": "./examples/entities/GetUrlEntityById.json"
+ },
+ "Get an IoT device entity.": {
+ "$ref": "./examples/entities/GetIoTDeviceEntityById.json"
}
},
"tags": [
@@ -2008,6 +2134,121 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations": {
+ "get": {
+ "x-ms-examples": {
+ "Get all relations of an entity.": {
+ "$ref": "./examples/entities/relations/GetAllEntityRelations.json"
+ }
+ },
+ "tags": [
+ "EntityRelations"
+ ],
+ "description": "Gets all relations of an entity.",
+ "operationId": "EntitiesRelations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/EntityId"
+ },
+ {
+ "$ref": "#/parameters/ODataFilter"
+ },
+ {
+ "$ref": "#/parameters/ODataOrderBy"
+ },
+ {
+ "$ref": "#/parameters/ODataTop"
+ },
+ {
+ "$ref": "#/parameters/ODataSkipToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RelationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/Relation",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an entity relation.": {
+ "$ref": "./examples/entities/relations/GetEntityRelationByName.json"
+ }
+ },
+ "tags": [
+ "EntityRelations"
+ ],
+ "description": "Gets an entity relation.",
+ "operationId": "EntityRelations_GetRelation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/EntityId"
+ },
+ {
+ "$ref": "#/parameters/RelationName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Relation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents": {
"get": {
"x-ms-examples": {
@@ -2393,69 +2634,699 @@
}
}
}
- }
- },
- "definitions": {
- "AADDataConnector": {
- "allOf": [
- {
- "$ref": "#/definitions/DataConnector"
- }
- ],
- "description": "Represents AAD (Azure Active Directory) data connector.",
- "properties": {
- "properties": {
- "$ref": "#/definitions/AADDataConnectorProperties",
- "description": "AAD (Azure Active Directory) data connector properties.",
- "x-ms-client-flatten": true
- }
- },
- "type": "object",
- "x-ms-discriminator-value": "AzureActiveDirectory"
- },
- "AADDataConnectorProperties": {
- "allOf": [
- {
- "$ref": "#/definitions/DataConnectorTenantId"
- },
- {
- "$ref": "#/definitions/DataConnectorWithAlertsProperties"
- }
- ],
- "description": "AAD (Azure Active Directory) data connector properties.",
- "type": "object"
- },
- "AATPDataConnector": {
- "allOf": [
- {
- "$ref": "#/definitions/DataConnector"
- }
- ],
- "description": "Represents AATP (Azure Advanced Threat Protection) data connector.",
- "properties": {
- "properties": {
- "$ref": "#/definitions/AATPDataConnectorProperties",
- "description": "AATP (Azure Advanced Threat Protection) data connector properties.",
- "x-ms-client-flatten": true
- }
- },
- "type": "object",
- "x-ms-discriminator-value": "AzureAdvancedThreatProtection"
},
- "AATPDataConnectorProperties": {
- "allOf": [
- {
- "$ref": "#/definitions/DataConnectorTenantId"
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": {
+ "get": {
+ "x-ms-examples": {
+ "Get all incidents.": {
+ "$ref": "./examples/incidents/GetIncidents.json"
+ }
},
- {
- "$ref": "#/definitions/DataConnectorWithAlertsProperties"
- }
- ],
- "description": "AATP (Azure Advanced Threat Protection) data connector properties.",
- "type": "object"
- },
- "ASCDataConnector": {
- "allOf": [
+ "tags": [
+ "Incidents"
+ ],
+ "description": "Gets all incidents.",
+ "operationId": "Incidents_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ODataFilter"
+ },
+ {
+ "$ref": "#/parameters/ODataOrderBy"
+ },
+ {
+ "$ref": "#/parameters/ODataTop"
+ },
+ {
+ "$ref": "#/parameters/ODataSkipToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IncidentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an incident.": {
+ "$ref": "./examples/incidents/GetIncidentById.json"
+ }
+ },
+ "tags": [
+ "Incidents"
+ ],
+ "description": "Gets an incident.",
+ "operationId": "Incidents_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Incident"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or updates an incident.": {
+ "$ref": "./examples/incidents/CreateIncident.json"
+ }
+ },
+ "tags": [
+ "Incidents"
+ ],
+ "description": "Creates or updates the incident.",
+ "operationId": "Incidents_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/Incident"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Incident"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Incident"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an incident.": {
+ "$ref": "./examples/incidents/DeleteIncident.json"
+ }
+ },
+ "tags": [
+ "Incidents"
+ ],
+ "description": "Delete the incident.",
+ "operationId": "Incidents_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": {
+ "get": {
+ "x-ms-examples": {
+ "Get all incident comments.": {
+ "$ref": "./examples/incidents/comments/GetAllIncidentComments.json"
+ }
+ },
+ "tags": [
+ "IncidentComments"
+ ],
+ "description": "Gets all incident comments.",
+ "operationId": "IncidentComments_ListByIncident",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/ODataFilter"
+ },
+ {
+ "$ref": "#/parameters/ODataOrderBy"
+ },
+ {
+ "$ref": "#/parameters/ODataTop"
+ },
+ {
+ "$ref": "#/parameters/ODataSkipToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IncidentCommentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/IncidentComment",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an incident comment.": {
+ "$ref": "./examples/incidents/comments/GetIncidentCommentById.json"
+ }
+ },
+ "tags": [
+ "IncidentComments"
+ ],
+ "description": "Gets an incident comment.",
+ "operationId": "IncidentComments_GetComment",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/IncidentCommentId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/IncidentComment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates an incident comment.": {
+ "$ref": "./examples/incidents/comments/CreateIncidentComment.json"
+ }
+ },
+ "tags": [
+ "IncidentComments"
+ ],
+ "description": "Creates the incident comment.",
+ "operationId": "IncidentComments_CreateComment",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/IncidentCommentId"
+ },
+ {
+ "$ref": "#/parameters/IncidentComment"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/IncidentComment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations": {
+ "get": {
+ "x-ms-examples": {
+ "Get all incident relations.": {
+ "$ref": "./examples/incidents/relations/GetAllIncidentRelations.json"
+ }
+ },
+ "tags": [
+ "IncidentRelations"
+ ],
+ "description": "Gets all incident relations.",
+ "operationId": "IncidentRelations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/ODataFilter"
+ },
+ {
+ "$ref": "#/parameters/ODataOrderBy"
+ },
+ {
+ "$ref": "#/parameters/ODataTop"
+ },
+ {
+ "$ref": "#/parameters/ODataSkipToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RelationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/Relation",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an incident relation.": {
+ "$ref": "./examples/incidents/relations/GetIncidentRelationByName.json"
+ }
+ },
+ "tags": [
+ "IncidentRelations"
+ ],
+ "description": "Gets an incident relation.",
+ "operationId": "IncidentRelations_GetRelation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/RelationName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Relation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or updates an incident relation.": {
+ "$ref": "./examples/incidents/relations/CreateIncidentRelation.json"
+ }
+ },
+ "tags": [
+ "IncidentRelations"
+ ],
+ "description": "Creates or updates the incident relation.",
+ "operationId": "IncidentRelations_CreateOrUpdateRelation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/RelationName"
+ },
+ {
+ "$ref": "#/parameters/Relation"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Relation"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Relation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete the incident relation.": {
+ "$ref": "./examples/incidents/relations/DeleteIncidentRelation.json"
+ }
+ },
+ "tags": [
+ "IncidentRelations"
+ ],
+ "description": "Delete the incident relation.",
+ "operationId": "IncidentRelations_DeleteRelation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/OperationalInsightsResourceProvider"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/IncidentId"
+ },
+ {
+ "$ref": "#/parameters/RelationName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AADDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents AAD (Azure Active Directory) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AADDataConnectorProperties",
+ "description": "AAD (Azure Active Directory) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "AzureActiveDirectory"
+ },
+ "AADDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorWithAlertsProperties"
+ }
+ ],
+ "description": "AAD (Azure Active Directory) data connector properties.",
+ "type": "object"
+ },
+ "AADCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "AAD (Azure Active Directory) requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
+ "AATPDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents AATP (Azure Advanced Threat Protection) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AATPDataConnectorProperties",
+ "description": "AATP (Azure Advanced Threat Protection) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "AzureAdvancedThreatProtection"
+ },
+ "AATPDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorWithAlertsProperties"
+ }
+ ],
+ "description": "AATP (Azure Advanced Threat Protection) data connector properties.",
+ "type": "object"
+ },
+ "AATPCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "AATP (Azure Advanced Threat Protection) requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
+ "ASCDataConnector": {
+ "allOf": [
{
"$ref": "#/definitions/DataConnector"
}
@@ -2486,6 +3357,25 @@
},
"type": "object"
},
+ "ASCCheckRequirements": {
+ "description": "ASC (Azure Security Center) requirements check properties.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ }
+ ],
+ "properties": {
+ "subscriptionId": {
+ "description": "The subscription id to connect to, and get the data from.",
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
"AccountEntity": {
"allOf": [
{
@@ -2566,6 +3456,11 @@
"description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.",
"readOnly": true,
"type": "string"
+ },
+ "dnsDomain": {
+ "description": "The fully qualified domain DNS name.",
+ "readOnly": true,
+ "type": "string"
}
},
"type": "object"
@@ -2586,7 +3481,22 @@
},
"type": "object"
},
+ "ActionPropertiesBase": {
+ "description": "Action property bag base.",
+ "properties": {
+ "logicAppResourceId": {
+ "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"ActionRequestProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionPropertiesBase"
+ }
+ ],
"description": "Action property bag.",
"properties": {
"triggerUri": {
@@ -2617,6 +3527,11 @@
"type": "object"
},
"ActionResponseProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionPropertiesBase"
+ }
+ ],
"description": "Action property bag.",
"properties": {
"workflowId": {
@@ -2657,7 +3572,10 @@
],
"description": "The aggregation.",
"discriminator": "kind",
- "type": "object"
+ "type": "object",
+ "required": [
+ "kind"
+ ]
},
"AggregationsKind": {
"description": "Describes an Azure resource with kind.",
@@ -2674,6 +3592,9 @@
}
}
},
+ "required": [
+ "kind"
+ ],
"type": "object"
},
"AlertRule": {
@@ -2687,7 +3608,10 @@
],
"description": "Alert rule.",
"discriminator": "kind",
- "type": "object"
+ "type": "object",
+ "required": [
+ "kind"
+ ]
},
"AlertRuleKind": {
"description": "Describes an Azure resource with kind.",
@@ -2717,6 +3641,9 @@
}
}
},
+ "required": [
+ "kind"
+ ],
"type": "object"
},
"AlertRuleTemplate": {
@@ -2730,6 +3657,26 @@
],
"description": "Alert rule template.",
"discriminator": "kind",
+ "type": "object",
+ "required": [
+ "kind"
+ ]
+ },
+ "AlertRuleTemplateDataSource": {
+ "description": "alert rule template data sources",
+ "properties": {
+ "connectorId": {
+ "description": "The connector id that provides the following data types",
+ "type": "string"
+ },
+ "dataTypes": {
+ "description": "The data types used by the alert rule template",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
"type": "object"
},
"AlertRuleTemplatePropertiesBase": {
@@ -2754,9 +3701,9 @@
"type": "string"
},
"requiredDataConnectors": {
- "description": "The required data connectors for this template",
+ "description": "The required data sources for this template",
"items": {
- "$ref": "#/definitions/DataConnectorStatus"
+ "$ref": "#/definitions/AlertRuleTemplateDataSource"
},
"type": "array"
},
@@ -2786,13 +3733,6 @@
}
]
}
- },
- "tactics": {
- "description": "The tactics of the alert rule template",
- "items": {
- "$ref": "#/definitions/AttackTactic"
- },
- "type": "array"
}
},
"type": "object"
@@ -2966,6 +3906,19 @@
},
"type": "object"
},
+ "AwsCloudTrailCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ }
+ ],
+ "description": "Amazon Web Services CloudTrail requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
"AzureResourceEntity": {
"allOf": [
{
@@ -3339,6 +4292,48 @@
],
"type": "object"
},
+ "BookmarkExpandParameters": {
+ "description": "The parameters required to execute an expand operation on the given bookmark.",
+ "properties": {
+ "endTime": {
+ "description": "The end date filter, so the only expansion results returned are before this date.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "expansionId": {
+ "description": "The Id of the expansion to perform.",
+ "format": "uuid",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "The start date filter, so the only expansion results returned are after this date.",
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ },
+ "BookmarkExpandResponse": {
+ "description": "The entity expansion result operation response.",
+ "properties": {
+ "metaData": {
+ "$ref": "#/definitions/ExpansionResultsMetadata",
+ "description": "The metadata from the expansion operation results."
+ },
+ "value": {
+ "description": "The expansion result values.",
+ "properties": {
+ "entities": {
+ "description": "Array of the expansion result entities.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
"Case": {
"allOf": [
{
@@ -3532,6 +4527,14 @@
"readOnly": true,
"type": "array"
},
+ "tactics": {
+ "description": "The tactics associated with case",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
"severity": {
"description": "The severity of the case",
"enum": [
@@ -3712,6 +4715,29 @@
},
"type": "object"
},
+ "ClientInfo": {
+ "description": "Information on the client (user or application) that made some action",
+ "properties": {
+ "email": {
+ "description": "The email of the client.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the client.",
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object id of the client.",
+ "format": "uuid",
+ "type": "string"
+ },
+ "userPrincipalName": {
+ "description": "The user principal name of the client.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"CloudApplicationEntity": {
"allOf": [
{
@@ -3795,7 +4821,62 @@
],
"description": "Data connector.",
"discriminator": "kind",
- "type": "object"
+ "type": "object",
+ "required": [
+ "kind"
+ ]
+ },
+ "DataConnectorsCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorKind"
+ }
+ ],
+ "description": "Data connector requirements properties."
+ },
+ "DataConnectorAuthorizationState": {
+ "description": "Describes the state of user's authorization for a connector kind.",
+ "enum": [
+ "Valid",
+ "Invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataConnectorAuthorizationState",
+ "values": [
+ {
+ "value": "Valid"
+ },
+ {
+ "value": "Invalid"
+ }
+ ]
+ }
+ },
+ "DataConnectorLicenseState": {
+ "description": "Describes the state of user's license for a connector kind.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataConnectorLicenseState",
+ "values": [
+ {
+ "value": "Valid"
+ },
+ {
+ "value": "Invalid"
+ },
+ {
+ "value": "Unknown"
+ }
+ ]
+ }
},
"DataConnectorDataTypeCommon": {
"description": "Common field for data type in data connectors.",
@@ -3825,6 +4906,7 @@
"AzureSecurityCenter",
"MicrosoftCloudAppSecurity",
"ThreatIntelligence",
+ "ThreatIntelligenceTaxii",
"Office365",
"AmazonWebServicesCloudTrail",
"AzureAdvancedThreatProtection",
@@ -3847,6 +4929,9 @@
{
"value": "ThreatIntelligence"
},
+ {
+ "value": "ThreatIntelligenceTaxii"
+ },
{
"value": "Office365"
},
@@ -3863,6 +4948,9 @@
}
}
},
+ "required": [
+ "kind"
+ ],
"type": "object"
},
"DataConnectorList": {
@@ -3885,27 +4973,16 @@
"value"
]
},
- "DataConnectorStatus": {
- "description": "alert rule template data connector status",
+ "DataConnectorRequirementsState": {
+ "description": "Data connector requirements status.",
"properties": {
- "connectorId": {
- "description": "the connector id",
- "type": "string"
+ "authorizationState": {
+ "description": "Authorization state for this connector",
+ "$ref": "#/definitions/DataConnectorAuthorizationState"
},
- "dataTypes": {
- "additionalProperties": {
- "enum": [
- "Exist",
- "NotExist"
- ],
- "type": "string",
- "x-ms-enum": {
- "modelAsString": true,
- "name": "DataTypeStatus"
- }
- },
- "description": "The data types availability map",
- "type": "object"
+ "licenseState": {
+ "description": "License state for this connector",
+ "$ref": "#/definitions/DataConnectorLicenseState"
}
},
"type": "object"
@@ -3993,7 +5070,10 @@
],
"description": "Specific entity.",
"discriminator": "kind",
- "type": "object"
+ "type": "object",
+ "required": [
+ "kind"
+ ]
},
"EntityCommonProperties": {
"description": "Entity common property bag.",
@@ -4073,6 +5153,7 @@
"RegistryValue",
"SecurityGroup",
"Url",
+ "IoTDevice",
"SecurityAlert",
"Bookmark"
],
@@ -4137,6 +5218,10 @@
"description": "Entity represents url in the system.",
"value": "Url"
},
+ {
+ "description": "Entity represents IoT device in the system.",
+ "value": "IoTDevice"
+ },
{
"description": "Entity represents security alert in the system.",
"value": "SecurityAlert"
@@ -4165,6 +5250,7 @@
"RegistryValue",
"SecurityGroup",
"URL",
+ "IoTDevice",
"SecurityAlert",
"HuntingBookmark"
],
@@ -4229,6 +5315,10 @@
"description": "Entity represents url in the system.",
"value": "URL"
},
+ {
+ "description": "Entity represents IoT device in the system.",
+ "value": "IoTDevice"
+ },
{
"description": "Entity represents security alert in the system.",
"value": "SecurityAlert"
@@ -4248,6 +5338,9 @@
"description": "The kind of the entity."
}
},
+ "required": [
+ "kind"
+ ],
"type": "object"
},
"EntityList": {
@@ -4593,6 +5686,13 @@
"severity": {
"$ref": "#/definitions/AlertSeverity",
"description": "The severity for alerts created by this alert rule."
+ },
+ "tactics": {
+ "description": "The tactics of the alert rule template",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "type": "array"
}
},
"required": [
@@ -4605,151 +5705,495 @@
"x-ms-client-flatten": true
}
},
- "type": "object",
- "x-ms-discriminator-value": "Fusion"
+ "type": "object",
+ "x-ms-discriminator-value": "Fusion"
+ },
+ "GeoLocation": {
+ "description": "The geo-location context attached to the ip entity",
+ "properties": {
+ "asn": {
+ "description": "Autonomous System Number",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "city": {
+ "description": "City name",
+ "readOnly": true,
+ "type": "string"
+ },
+ "countryCode": {
+ "description": "The country code according to ISO 3166 format",
+ "readOnly": true,
+ "type": "string"
+ },
+ "countryName": {
+ "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name",
+ "readOnly": true,
+ "type": "string"
+ },
+ "latitude": {
+ "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.",
+ "format": "double",
+ "readOnly": true,
+ "type": "number"
+ },
+ "longitude": {
+ "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.",
+ "format": "double",
+ "readOnly": true,
+ "type": "number"
+ },
+ "state": {
+ "description": "State name",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "readOnly": true,
+ "type": "object"
+ },
+ "HostEntity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ }
+ ],
+ "description": "Represents a host entity.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HostEntityProperties",
+ "description": "Host entity properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Host"
+ },
+ "HostEntityProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityCommonProperties"
+ }
+ ],
+ "description": "Host entity property bag.",
+ "properties": {
+ "azureID": {
+ "description": "The azure resource id of the VM.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dnsDomain": {
+ "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain",
+ "readOnly": true,
+ "type": "string"
+ },
+ "hostName": {
+ "description": "The hostname without the domain suffix.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "isDomainJoined": {
+ "description": "Determines whether this host belongs to a domain.",
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "netBiosName": {
+ "description": "The host name (pre-windows2000).",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ntDomain": {
+ "description": "The NT domain that this host belongs to.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "omsAgentID": {
+ "description": "The OMS agent id, if the host has OMS agent installed.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "osFamily": {
+ "description": "The operating system type.",
+ "enum": [
+ "Linux",
+ "Windows",
+ "Android",
+ "IOS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "OSFamily",
+ "values": [
+ {
+ "description": "Host with Linux operating system.",
+ "value": "Linux"
+ },
+ {
+ "description": "Host with Windows operating system.",
+ "value": "Windows"
+ },
+ {
+ "description": "Host with Android operating system.",
+ "value": "Android"
+ },
+ {
+ "description": "Host with IOS operating system.",
+ "value": "IOS"
+ }
+ ]
+ }
+ },
+ "osVersion": {
+ "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Incident": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ }
+ ],
+ "description": "Represents an incident in Azure Security Insights.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IncidentProperties",
+ "description": "Incident properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "IncidentAdditionalData": {
+ "description": "Incident additional data property bag.",
+ "properties": {
+ "alertsCount": {
+ "description": "The number of alerts in the incident",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "bookmarksCount": {
+ "description": "The number of bookmarks in the incident",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "commentsCount": {
+ "description": "The number of comments in the incident",
+ "readOnly": true,
+ "type": "integer"
+ },
+ "alertProductNames": {
+ "description": "List of product names of alerts in the incident",
+ "items": {
+ "description": "Alert product name",
+ "type": "string"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "tactics": {
+ "description": "The tactics associated with incident",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "IncidentComment": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Represents an incident comment",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IncidentCommentProperties",
+ "description": "Incident comment properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "IncidentCommentList": {
+ "description": "List of incident comments.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of comments.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of comments.",
+ "items": {
+ "$ref": "#/definitions/IncidentComment"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "IncidentCommentProperties": {
+ "description": "Incident comment property bag.",
+ "properties": {
+ "createdTimeUtc": {
+ "description": "The time the comment was created",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "The comment message",
+ "type": "string"
+ },
+ "author": {
+ "$ref": "#/definitions/ClientInfo",
+ "description": "Describes the client that created the comment",
+ "readOnly": true,
+ "type": "object"
+ }
+ },
+ "required": [
+ "message"
+ ],
+ "type": "object"
+ },
+ "IncidentLabel": {
+ "description": "Represents an incident label",
+ "properties": {
+ "labelName": {
+ "description": "The name of the label",
+ "type": "string"
+ },
+ "labelType": {
+ "description": "The type of the label",
+ "enum": [
+ "User",
+ "System"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "IncidentLabelType",
+ "values": [
+ {
+ "description": "Label manually created by a user",
+ "value": "User"
+ },
+ {
+ "description": "Label automatically created by the system",
+ "value": "System"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "labelName"
+ ],
+ "type": "object"
},
- "GeoLocation": {
- "description": "The geo-location context attached to the ip entity",
+ "IncidentList": {
+ "description": "List all the incidents.",
"properties": {
- "asn": {
- "description": "Autonomous System Number",
- "readOnly": true,
- "type": "integer"
- },
- "city": {
- "description": "City name",
+ "nextLink": {
+ "description": "URL to fetch the next set of incidents.",
"readOnly": true,
"type": "string"
},
- "countryCode": {
- "description": "The country code according to ISO 3166 format",
- "readOnly": true,
+ "value": {
+ "description": "Array of incidents.",
+ "items": {
+ "$ref": "#/definitions/Incident"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "IncidentOwnerInfo": {
+ "description": "Information on the user an incident is assigned to",
+ "properties": {
+ "email": {
+ "description": "The email of the user the incident is assigned to.",
"type": "string"
},
- "countryName": {
- "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name",
- "readOnly": true,
+ "assignedTo": {
+ "description": "The name of the user the incident is assigned to.",
"type": "string"
},
- "latitude": {
- "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.",
- "format": "double",
- "readOnly": true,
- "type": "number"
- },
- "longitude": {
- "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.",
- "format": "double",
- "readOnly": true,
- "type": "number"
+ "objectId": {
+ "description": "The object id of the user the incident is assigned to.",
+ "format": "uuid",
+ "type": "string"
},
- "state": {
- "description": "State name",
- "readOnly": true,
+ "userPrincipalName": {
+ "description": "The user principal name of the user the incident is assigned to.",
"type": "string"
}
},
- "readOnly": true,
"type": "object"
},
- "HostEntity": {
- "allOf": [
- {
- "$ref": "#/definitions/Entity"
- }
- ],
- "description": "Represents a host entity.",
- "properties": {
- "properties": {
- "$ref": "#/definitions/HostEntityProperties",
- "description": "Host entity properties",
- "x-ms-client-flatten": true
- }
- },
- "type": "object",
- "x-ms-discriminator-value": "Host"
- },
- "HostEntityProperties": {
- "allOf": [
- {
- "$ref": "#/definitions/EntityCommonProperties"
- }
- ],
- "description": "Host entity property bag.",
+ "IncidentProperties": {
+ "description": "Describes incident properties",
"properties": {
- "azureID": {
- "description": "The azure resource id of the VM.",
+ "additionalData": {
+ "$ref": "#/definitions/IncidentAdditionalData",
+ "description": "Additional data on the incident",
"readOnly": true,
- "type": "string"
+ "type": "object"
},
- "dnsDomain": {
- "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain",
- "readOnly": true,
- "type": "string"
+ "classification": {
+ "description": "The reason the incident was closed",
+ "enum": [
+ "Undetermined",
+ "TruePositive",
+ "FalsePositive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "IncidentClassification",
+ "values": [
+ {
+ "description": "Incident classification was undetermined",
+ "value": "Undetermined"
+ },
+ {
+ "description": "Incident was true positive",
+ "value": "TruePositive"
+ },
+ {
+ "description": "Incident was false positive",
+ "value": "FalsePositive"
+ }
+ ]
+ }
},
- "hostName": {
- "description": "The hostname without the domain suffix.",
+ "createdTimeUtc": {
+ "description": "The time the incident was created",
+ "format": "date-time",
"readOnly": true,
"type": "string"
},
- "isDomainJoined": {
- "description": "Determines whether this host belongs to a domain.",
- "readOnly": true,
- "type": "boolean"
+ "description": {
+ "description": "The description of the incident",
+ "type": "string"
},
- "netBiosName": {
- "description": "The host name (pre-windows2000).",
- "readOnly": true,
+ "firstActivityTimeUtc": {
+ "description": "The time of the first activity in the incident",
+ "format": "date-time",
"type": "string"
},
- "ntDomain": {
- "description": "The NT domain that this host belongs to.",
+ "incidentNumber": {
+ "description": "A sequential number",
"readOnly": true,
+ "type": "integer"
+ },
+ "labels": {
+ "description": "List of labels relevant to this incident",
+ "items": {
+ "$ref": "#/definitions/IncidentLabel"
+ },
+ "type": "array"
+ },
+ "lastActivityTimeUtc": {
+ "description": "The time of the last activity in the incident",
+ "format": "date-time",
"type": "string"
},
- "omsAgentID": {
- "description": "The OMS agent id, if the host has OMS agent installed.",
+ "lastModifiedTimeUtc": {
+ "description": "The last time the incident was updated",
+ "format": "date-time",
"readOnly": true,
"type": "string"
},
- "osFamily": {
- "description": "The operating system type.",
+ "owner": {
+ "$ref": "#/definitions/IncidentOwnerInfo",
+ "description": "Describes a user that the incident is assigned to",
+ "type": "object"
+ },
+ "severity": {
+ "description": "The severity of the incident",
"enum": [
- "Linux",
- "Windows",
- "Android",
- "IOS"
+ "High",
+ "Medium",
+ "Low",
+ "Informational"
],
"type": "string",
"x-ms-enum": {
- "modelAsString": false,
- "name": "OSFamily",
+ "modelAsString": true,
+ "name": "IncidentSeverity",
"values": [
{
- "description": "Host with Linux operating system.",
- "value": "Linux"
+ "description": "High severity",
+ "value": "High"
},
{
- "description": "Host with Windows operating system.",
- "value": "Windows"
+ "description": "Medium severity",
+ "value": "Medium"
},
{
- "description": "Host with Android operating system.",
- "value": "Android"
+ "description": "Low severity",
+ "value": "Low"
},
{
- "description": "Host with IOS operating system.",
- "value": "IOS"
+ "description": "Informational severity",
+ "value": "Informational"
}
]
}
},
- "osVersion": {
- "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration",
- "readOnly": true,
+ "status": {
+ "description": "The status of the incident",
+ "enum": [
+ "New",
+ "Active",
+ "Closed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "IncidentStatus",
+ "values": [
+ {
+ "description": "An active incident which isn't being handled currently",
+ "value": "New"
+ },
+ {
+ "description": "An active incident which is being handled",
+ "value": "Active"
+ },
+ {
+ "description": "A non-active incident",
+ "value": "Closed"
+ }
+ ]
+ }
+ },
+ "title": {
+ "description": "The title of the incident",
"type": "string"
}
},
+ "required": [
+ "title",
+ "severity",
+ "status"
+ ],
"type": "object"
},
"IpEntity": {
@@ -4853,6 +6297,22 @@
},
"type": "object"
},
+ "MCASCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "MCAS (Microsoft Cloud App Security) requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
"MDATPDataConnector": {
"allOf": [
{
@@ -4882,6 +6342,22 @@
"description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.",
"type": "object"
},
+ "MDATPCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
"MalwareEntity": {
"allOf": [
{
@@ -5022,13 +6498,6 @@
"format": "date-time",
"readOnly": true,
"type": "string"
- },
- "tactics": {
- "description": "The tactics of the alert rule",
- "items": {
- "$ref": "#/definitions/AttackTactic"
- },
- "type": "array"
}
},
"required": [
@@ -5515,6 +6984,69 @@
},
"type": "object"
},
+ "RelationList": {
+ "description": "List of relations.",
+ "properties": {
+ "nextLink": {
+ "readOnly": true,
+ "description": "URL to fetch the next set of relations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of relations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Relation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Relation": {
+ "type": "object",
+ "description": "Represents a relation between two resources",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RelationProperties",
+ "description": "Relation properties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RelationProperties": {
+ "description": "Relation property bag.",
+ "properties": {
+ "relatedResourceId": {
+ "description": "The resource ID of the related resource",
+ "type": "string"
+ },
+ "relatedResourceName": {
+ "description": "The name of the related resource",
+ "type": "string"
+ },
+ "relatedResourceType": {
+ "description": "The resource type of the related resource",
+ "readOnly": true,
+ "type": "string"
+ },
+ "relatedResourceKind": {
+ "description": "The resource kind of the related resource",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "relatedResourceId"
+ ],
+ "type": "object"
+ },
"Resource": {
"description": "An azure resource object",
"properties": {
@@ -5655,6 +7187,10 @@
"$ref": "#/definitions/AttackTactic"
},
"type": "array"
+ },
+ "incidentConfiguration": {
+ "$ref": "#/definitions/IncidentConfiguration",
+ "description": "The settings of the incidents that created from alerts triggered by this analytics rule"
}
},
"required": [
@@ -5689,6 +7225,15 @@
}
],
"description": "Scheduled alert rule template properties",
+ "properties": {
+ "tactics": {
+ "description": "The tactics of the alert rule template",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "type": "array"
+ }
+ },
"required": [
"displayName",
"description",
@@ -5707,6 +7252,111 @@
"type": "object",
"x-ms-discriminator-value": "Scheduled"
},
+ "IncidentConfiguration": {
+ "description": "Incident Configuration property bag.",
+ "properties": {
+ "createIncident": {
+ "description": "Create incidents from alerts triggered by this analytics rule",
+ "type": "boolean"
+ },
+ "groupingConfiguration": {
+ "$ref": "#/definitions/GroupingConfiguration",
+ "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents"
+ }
+ },
+ "type": "object",
+ "required": [
+ "createIncident"
+ ]
+ },
+ "GroupingConfiguration": {
+ "description": "Grouping configuration property bag.",
+ "properties": {
+ "enabled": {
+ "description": "Grouping enabled",
+ "type": "boolean"
+ },
+ "reopenClosedIncident": {
+ "description": "Re-open closed matching incidents",
+ "type": "boolean"
+ },
+ "lookbackDuration": {
+ "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)",
+ "format": "duration",
+ "type": "string"
+ },
+ "entitiesMatchingMethod": {
+ "description": "Grouping matching method",
+ "enum": [
+ "All",
+ "None",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "EntitiesMatchingMethod",
+ "values": [
+ {
+ "description": "Grouping alerts into a single incident if all the entities match",
+ "value": "All"
+ },
+ {
+ "description": "Grouping all alerts triggered by this rule into a single incident",
+ "value": "None"
+ },
+ {
+ "description": "Grouping alerts into a single incident if the selected entities match",
+ "value": "Custom"
+ }
+ ]
+ }
+ },
+ "groupByEntities": {
+ "description": "A list of entity types to group by (when entitiesMatchingMethod is Custom)",
+ "items": {
+ "description": "Grouping entity type",
+ "enum": [
+ "Account",
+ "Host",
+ "Ip",
+ "Url"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "GroupingEntityType",
+ "values": [
+ {
+ "description": "Account entity",
+ "value": "Account"
+ },
+ {
+ "description": "Host entity",
+ "value": "Host"
+ },
+ {
+ "description": "Ip entity",
+ "value": "Ip"
+ },
+ {
+ "description": "Url entity",
+ "value": "Url"
+ }
+ ]
+ }
+ },
+ "type": "array"
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled",
+ "reopenClosedIncident",
+ "lookbackDuration",
+ "entitiesMatchingMethod"
+ ]
+ },
"SecurityAlert": {
"allOf": [
{
@@ -5929,6 +7579,11 @@
]
}
},
+ "providerAlertId": {
+ "description": "The identifier of the alert inside the product which generated the alert.",
+ "readOnly": true,
+ "type": "string"
+ },
"processingEndTime": {
"description": "The time the alert was made available for consumption.",
"format": "date-time",
@@ -6011,6 +7666,14 @@
"readOnly": true,
"type": "string"
},
+ "tactics": {
+ "description": "The tactics of the alert",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
"timeGenerated": {
"description": "The time the alert was generated.",
"format": "date-time",
@@ -6080,7 +7743,10 @@
],
"description": "The Setting.",
"discriminator": "kind",
- "type": "object"
+ "type": "object",
+ "required": [
+ "kind"
+ ]
},
"SettingsKind": {
"description": "Describes an Azure resource with kind.",
@@ -6098,6 +7764,9 @@
}
}
},
+ "required": [
+ "kind"
+ ],
"type": "object"
},
"TIDataConnector": {
@@ -6147,6 +7816,109 @@
},
"type": "object"
},
+ "TICheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "TI (Threat Intelligence) requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
+ "TiTaxiiDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents threat intelligence taxii data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TiTaxiiDataConnectorProperties",
+ "description": "Threat intelligence taxii client data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "ThreatIntelligenceTaxii"
+ },
+ "TiTaxiiDataConnectorDataTypes": {
+ "description": "The available data types for Threat Intelligence taxii client data connector.",
+ "properties": {
+ "taxiiClient": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Data type for taxii client.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "TiTaxiiDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "Threat Intelligence taxii client data connector properties.",
+ "properties": {
+ "workspaceId": {
+ "description": "The workspace id.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The friendly name for taxii client connector.",
+ "type": "string"
+ },
+ "taxiiServer": {
+ "description": "The API root server for taxii client.",
+ "type": "string"
+ },
+ "collectionId": {
+ "description": "The taxii collection id.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "The taxii server user name.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The taxii server password.",
+ "type": "string"
+ },
+ "dataTypes": {
+ "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "TiTaxiiCheckRequirements": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "Ti Taxii (Threat Intelligence Taxii) requirements check properties.",
+ "type": "object",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ]
+ },
"ThreatIntelligence": {
"description": "ThreatIntelligence property bag.",
"properties": {
@@ -6297,6 +8069,78 @@
},
"type": "object"
},
+ "IoTDeviceEntity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ }
+ ],
+ "description": "Represents an IoT device entity.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTDeviceEntityProperties",
+ "description": "IoTDevice entity properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "IoTDevice"
+ },
+ "IoTDeviceEntityProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityCommonProperties"
+ }
+ ],
+ "description": "IoTDevice entity property bag.",
+ "properties": {
+ "deviceId": {
+ "description": "The ID of the IoT Device in the IoT Hub",
+ "readOnly": true,
+ "type": "string"
+ },
+ "iotSecurityAgentId": {
+ "description": "The ID of the security agent running on the device",
+ "format": "uuid",
+ "readOnly": true,
+ "type": "string"
+ },
+ "deviceType": {
+ "description": "The type of the device",
+ "readOnly": true,
+ "type": "string"
+ },
+ "vendor": {
+ "description": "The vendor of the device",
+ "readOnly": true,
+ "type": "string"
+ },
+ "edgeId": {
+ "description": "The ID of the edge device",
+ "readOnly": true,
+ "type": "string"
+ },
+ "iotHubEntityId": {
+ "description": "The AzureResource entity id of the IoT Hub",
+ "readOnly": true,
+ "type": "string"
+ },
+ "hostEntityId": {
+ "description": "The Host entity id of this device",
+ "readOnly": true,
+ "type": "string"
+ },
+ "threatIntelligence": {
+ "description": "A list of TI contexts attached to the IoTDevice entity.",
+ "items": {
+ "$ref": "#/definitions/ThreatIntelligence"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
"UserInfo": {
"description": "User information that made some action",
"properties": {
@@ -6317,9 +8161,6 @@
"x-nullable": true
}
},
- "required": [
- "objectId"
- ],
"type": "object"
},
"IncidentInfo": {
@@ -6341,7 +8182,7 @@
"type": "string",
"x-ms-enum": {
"modelAsString": true,
- "name": "IncidentSeverity",
+ "name": "CaseSeverity",
"values": [
{
"description": "Critical severity",
@@ -6537,6 +8378,16 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "DataConnectorsCheckRequirementsBody": {
+ "description": "The parameters for requirements check message",
+ "in": "body",
+ "name": "DataConnectorsCheckRequirements",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectorsCheckRequirements"
+ },
+ "x-ms-parameter-location": "method"
+ },
"EntityExpandRequestBody": {
"description": "The parameters required to execute an expand operation on the given entity.",
"in": "body",
@@ -6547,6 +8398,16 @@
},
"x-ms-parameter-location": "method"
},
+ "BookmarkExpandRequestBody": {
+ "description": "The parameters required to execute an expand operation on the given bookmark.",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BookmarkExpandParameters"
+ },
+ "x-ms-parameter-location": "method"
+ },
"EntityId": {
"description": "entity ID",
"in": "path",
@@ -6563,6 +8424,42 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "Incident": {
+ "description": "The incident",
+ "in": "body",
+ "name": "incident",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Incident"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "IncidentComment": {
+ "description": "The incident comment",
+ "in": "body",
+ "name": "incidentComment",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IncidentComment"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "IncidentCommentId": {
+ "description": "Incident comment ID",
+ "in": "path",
+ "name": "incidentCommentId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IncidentId": {
+ "description": "Incident ID",
+ "in": "path",
+ "name": "incidentId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"ODataFilter": {
"description": "Filters the results, based on a Boolean condition. Optional.",
"in": "query",
@@ -6604,6 +8501,16 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "Relation": {
+ "name": "relation",
+ "in": "body",
+ "description": "The relation model",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Relation"
+ },
+ "x-ms-parameter-location": "method"
+ },
"ResourceGroupName": {
"description": "The name of the resource group within the user's subscription. The name is case insensitive.",
"in": "path",
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json
index 7068d7e540ac..b50eaeec2581 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/CreateActionOfAlertRule.json
@@ -13,7 +13,8 @@
"type": "Microsoft.SecurityInsights/alertRules/actions",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
- "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature"
+ "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
}
}
},
@@ -25,7 +26,8 @@
"type": "Microsoft.SecurityInsights/alertRules/actions",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
- "workflowId": "cd3765391efd48549fd7681ded1d48d7"
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
}
}
},
@@ -36,7 +38,8 @@
"type": "Microsoft.SecurityInsights/alertRules/actions",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
- "workflowId": "cd3765391efd48549fd7681ded1d48d7"
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetActionOfAlertRuleById.json
index 828654798729..4501f69a57cb 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetActionOfAlertRuleById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetActionOfAlertRuleById.json
@@ -16,7 +16,8 @@
"type": "Microsoft.SecurityInsights/alertRules/actions",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
- "workflowId": "cd3765391efd48549fd7681ded1d48d7"
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetAllActionsByAlertRule.json
index 6a11f7ae92b3..f6e415ce6c5d 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetAllActionsByAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/actions/GetAllActionsByAlertRule.json
@@ -17,7 +17,8 @@
"type": "Microsoft.SecurityInsights/alertRules/actions",
"etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
"properties": {
- "workflowId": "cd3765391efd48549fd7681ded1d48d7"
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
}
}
]
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
index bcd9416b7306..b85ce69bbb1d 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json
@@ -32,9 +32,9 @@
"requiredDataConnectors": [
{
"connectorId": "AWS",
- "dataTypes": {
- "AWSCloudTrail": "Exist"
- }
+ "dataTypes": [
+ "AWSCloudTrail"
+ ]
}
],
"alertRulesCreatedByTemplateCount": 0
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
index f8160e7c52ad..fe89ccfea2d4 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json
@@ -33,9 +33,9 @@
"requiredDataConnectors": [
{
"connectorId": "AWS",
- "dataTypes": {
- "AWSCloudTrail": "Exist"
- }
+ "dataTypes": [
+ "AWSCloudTrail"
+ ]
}
],
"alertRulesCreatedByTemplateCount": 0
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
index 3a78f2fc919e..e508373c9660 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
@@ -31,7 +31,6 @@
"displayName": "testing displayname",
"enabled": true,
"description": null,
- "tactics": [],
"alertRuleTemplateName": null,
"lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
}
@@ -51,7 +50,6 @@
"displayName": "testing displayname",
"enabled": true,
"description": null,
- "tactics": [],
"alertRuleTemplateName": null,
"lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json
index 7439f2d1037a..26fe44559cda 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json
@@ -24,7 +24,20 @@
"triggerOperator": "GreaterThan",
"triggerThreshold": 0,
"suppressionDuration": "PT1H",
- "suppressionEnabled": false
+ "suppressionEnabled": false,
+ "incidentConfiguration": {
+ "createIncident": true,
+ "groupingConfiguration": {
+ "enabled": true,
+ "reopenClosedIncident": false,
+ "lookbackDuration": "PT5H",
+ "entitiesMatchingMethod": "Custom",
+ "groupByEntities": [
+ "Host",
+ "Account"
+ ]
+ }
+ }
}
}
},
@@ -53,7 +66,20 @@
"triggerThreshold": 0,
"suppressionDuration": "PT1H",
"suppressionEnabled": false,
- "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ "lastModifiedUtc": "2019-01-01T13:15:30Z",
+ "incidentConfiguration": {
+ "createIncident": true,
+ "groupingConfiguration": {
+ "enabled": true,
+ "reopenClosedIncident": false,
+ "lookbackDuration": "PT5H",
+ "entitiesMatchingMethod": "Custom",
+ "groupByEntities": [
+ "Host",
+ "Account"
+ ]
+ }
+ }
}
}
},
@@ -81,7 +107,20 @@
"triggerThreshold": 0,
"suppressionDuration": "PT1H",
"suppressionEnabled": false,
- "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ "lastModifiedUtc": "2019-01-01T13:15:30Z",
+ "incidentConfiguration": {
+ "createIncident": true,
+ "groupingConfiguration": {
+ "enabled": true,
+ "reopenClosedIncident": false,
+ "lookbackDuration": "PT5H",
+ "entitiesMatchingMethod": "Custom",
+ "groupByEntities": [
+ "Host",
+ "Account"
+ ]
+ }
+ }
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json
index 6307373a1db5..a82531d8b2d4 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json
@@ -33,7 +33,20 @@
"triggerThreshold": 0,
"suppressionDuration": "PT1H",
"suppressionEnabled": false,
- "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ "lastModifiedUtc": "2019-01-01T13:15:30Z",
+ "incidentConfiguration": {
+ "createIncident": true,
+ "groupingConfiguration": {
+ "enabled": true,
+ "reopenClosedIncident": false,
+ "lookbackDuration": "PT5H",
+ "entitiesMatchingMethod": "Custom",
+ "groupByEntities": [
+ "Host",
+ "Account"
+ ]
+ }
+ }
}
},
{
@@ -49,7 +62,6 @@
"displayName": "testing displayname",
"enabled": true,
"description": null,
- "tactics": [],
"alertRuleTemplateName": null,
"lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
index 2aa4401ba452..db8510ffb988 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
@@ -22,7 +22,6 @@
"displayName": "testing displayname",
"enabled": true,
"description": null,
- "tactics": [],
"alertRuleTemplateName": null,
"lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json
index d7e16b13947d..25a9d7240913 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json
@@ -32,7 +32,20 @@
"triggerThreshold": 0,
"suppressionDuration": "PT1H",
"suppressionEnabled": false,
- "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ "lastModifiedUtc": "2019-01-01T13:15:30Z",
+ "incidentConfiguration": {
+ "createIncident": true,
+ "groupingConfiguration": {
+ "enabled": true,
+ "reopenClosedIncident": false,
+ "lookbackDuration": "PT5H",
+ "entitiesMatchingMethod": "Custom",
+ "groupByEntities": [
+ "Host",
+ "Account"
+ ]
+ }
+ }
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/expand/PostExpandBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/expand/PostExpandBookmark.json
new file mode 100644
index 000000000000..a8788054e17a
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/bookmarks/expand/PostExpandBookmark.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "parameters": {
+ "expansionId": "27f76e63-c41b-480f-bb18-12ad2e011d49",
+ "startTime": "2019-12-25T17:21:00.000Z",
+ "endTime": "2020-01-24T17:21:00.000Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": {
+ "entities": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fe4ddab5-8cea-eca3-c8b8-9e92e830a387",
+ "name": "fe4ddab5-8cea-eca3-c8b8-9e92e830a387",
+ "type": "Microsoft.SecurityInsights/entities",
+ "kind": "Account",
+ "properties": {
+ "friendlyName": "administrator",
+ "accountName": "administrator",
+ "ntDomain": "domain"
+ }
+ }
+ ]
+ },
+ "metaData": {
+ "aggregations": [
+ {
+ "entityKind": "Account",
+ "count": 1
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/CreateCase.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/CreateCase.json
index 670ed172b4e9..175dadb402ec 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/CreateCase.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/CreateCase.json
@@ -55,6 +55,7 @@
"relatedAlertIds": [
"cf441808-2d50-4c10-81af-cdd0b908c121"
],
+ "tactics": [],
"caseNumber": 3177
}
}
@@ -87,6 +88,7 @@
"relatedAlertIds": [
"cf441808-2d50-4c10-81af-cdd0b908c121"
],
+ "tactics": [],
"caseNumber": 3177
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCaseById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCaseById.json
index d1661baf0423..b34d5690dfed 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCaseById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCaseById.json
@@ -37,6 +37,10 @@
"relatedAlertIds": [
"cf441808-2d50-4c10-81af-cdd0b908c121"
],
+ "tactics": [
+ "InitialAccess",
+ "Persistence"
+ ],
"caseNumber": 3177,
"lastComment": "This is a demo case",
"totalComments": 3
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCases.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCases.json
index 6fe262832ea8..56acd2115f04 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCases.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/cases/GetCases.json
@@ -40,6 +40,10 @@
"relatedAlertIds": [
"cf441808-2d50-4c10-81af-cdd0b908c121"
],
+ "tactics": [
+ "InitialAccess",
+ "Persistence"
+ ],
"caseNumber": 3177,
"lastComment": "This is a demo case",
"totalComments": 3
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json
new file mode 100644
index 000000000000..1537ba3e8a72
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "AzureActiveDirectory",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json
new file mode 100644
index 000000000000..1537ba3e8a72
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "AzureActiveDirectory",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json
new file mode 100644
index 000000000000..1537ba3e8a72
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "AzureActiveDirectory",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json
new file mode 100644
index 000000000000..7e6c5db280a4
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "AzureSecurityCenter",
+ "properties": {
+ "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json
new file mode 100644
index 000000000000..9bafdafddb32
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "MicrosoftCloudAppSecurity",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json
new file mode 100644
index 000000000000..9bafdafddb32
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "MicrosoftCloudAppSecurity",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json
new file mode 100644
index 000000000000..e5021e1ecbd9
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "ThreatIntelligence",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json
new file mode 100644
index 000000000000..cf0b1c18c239
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "DataConnectorsCheckRequirements": {
+ "kind": "ThreatIntelligenceTaxii",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authorizationState": "Valid",
+ "licenseState": "Valid"
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json
index 19806b1058ea..6c783118cb3b 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json
@@ -40,6 +40,27 @@
}
}
},
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652",
+ "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "ThreatIntelligenceTaxii",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2",
+ "friendlyName": "My TI Taxii Connector",
+ "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api",
+ "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e",
+ "userName": "",
+ "password": "",
+ "dataTypes": {
+ "taxiiClient": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
{
"id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d",
"name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d",
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json
new file mode 100644
index 000000000000..1dbd88e790a1
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "dataConnectorId": "c39bb458-02a7-4b3f-b0c8-71a1d2692652"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652",
+ "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "ThreatIntelligenceTaxii",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2",
+ "friendlyName": "My TI Taxii Connector",
+ "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api",
+ "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e",
+ "userName": "",
+ "password": "",
+ "dataTypes": {
+ "taxiiClient": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAccountEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAccountEntityById.json
index 308ad74facfe..893bd08a3e57 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAccountEntityById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAccountEntityById.json
@@ -24,7 +24,8 @@
"aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3",
"puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d",
"isDomainJoined": true,
- "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0"
+ "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0",
+ "dnsDomain": "contoso.com"
}
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json
index 97929b3d5a02..d630c9f4f3ec 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json
@@ -15,7 +15,7 @@
"type": "Microsoft.SecurityInsights/entities",
"kind": "AzureResource",
"properties": {
- "friendlyName": "Resource",
+ "friendlyName": "vm1",
"resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1"
}
}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetIoTDeviceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetIoTDeviceEntityById.json
new file mode 100644
index 000000000000..037fdaa249f1
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetIoTDeviceEntityById.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1",
+ "type": "Microsoft.SecurityInsights/entities",
+ "kind": "IoTDevice",
+ "properties": {
+ "friendlyName": "device1",
+ "deviceId": "device1",
+ "iotHubEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/8b2d9401-f953-e89d-2583-be9b4975870c"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json
index 4c3ca8bd57b6..af742bb18b0a 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityAlertEntityById.json
@@ -25,11 +25,16 @@
"productName": "Azure Sentinel",
"productComponentName": "Scheduled Alerts",
"alertType": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b_46c7b6c0-ff43-44dd-8b4d-ceffff7aa7df",
+ "providerAlertId": "c2bafff9-fb31-41d0-a177-ecbff7a02ffe",
"processingEndTime": "2019-07-06T13:56:53.5392366Z",
"status": "New",
"endTimeUtc": "2019-07-06T13:21:45.926185Z",
"startTimeUtc": "2019-07-06T08:21:45.926185Z",
"timeGenerated": "2019-07-06T13:56:53.5392366Z",
+ "tactics": [
+ "Persistence",
+ "LateralMovement"
+ ],
"additionalData": {
"Query": "Heartbeat \n| extend AccountCustomEntity = \"administrator\"",
"Query Period": "05:00:00",
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityGroupEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityGroupEntityById.json
index 856ea6f4465d..181fb12aeb9b 100644
--- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityGroupEntityById.json
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetSecurityGroupEntityById.json
@@ -15,7 +15,7 @@
"type": "Microsoft.SecurityInsights/entities",
"kind": "SecurityGroup",
"properties": {
- "friendlyName": "Group",
+ "friendlyName": "Name",
"distinguishedName": "Name",
"sid": "Sid",
"objectGuid": "fb1b8e04-d944-4986-b39a-1ce9adedcd98"
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/relations/GetAllEntityRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/relations/GetAllEntityRelations.json
new file mode 100644
index 000000000000..8019900f524f
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/relations/GetAllEntityRelations.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "entityId": "afbd324f-6c48-459c-8710-8d1e1cd03812"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/entities/relations",
+ "etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceType": "Microsoft.SecurityInsights/incidents"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/relations/GetEntityRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/relations/GetEntityRelationByName.json
new file mode 100644
index 000000000000..d6c273d1b9c9
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/relations/GetEntityRelationByName.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "entityId": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/entities/relations",
+ "etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceType": "Microsoft.SecurityInsights/incidents"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/CreateIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/CreateIncident.json
new file mode 100644
index 000000000000..526b48d3be6a
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/CreateIncident.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "incident": {
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "lastActivityTimeUtc": "2019-01-01T13:05:30Z",
+ "firstActivityTimeUtc": "2019-01-01T13:00:30Z",
+ "description": "This is a demo incident",
+ "title": "My incident",
+ "owner": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70"
+ },
+ "severity": "High",
+ "classification": "FalsePositive",
+ "status": "Closed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/incidents",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"",
+ "properties": {
+ "lastModifiedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "lastActivityTimeUtc": "2019-01-01T13:05:30Z",
+ "firstActivityTimeUtc": "2019-01-01T13:00:30Z",
+ "description": "This is a demo incident",
+ "title": "My incident",
+ "owner": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "assignedTo": "john doe"
+ },
+ "severity": "High",
+ "classification": "FalsePositive",
+ "status": "Closed",
+ "incidentNumber": 3177,
+ "labels": [],
+ "additionalData": {
+ "alertsCount": 0,
+ "bookmarksCount": 0,
+ "commentsCount": 3,
+ "alertProductNames": [],
+ "tactics": []
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/incidents",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"",
+ "properties": {
+ "lastModifiedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "lastActivityTimeUtc": "2019-01-01T13:05:30Z",
+ "firstActivityTimeUtc": "2019-01-01T13:00:30Z",
+ "description": "This is a demo incident",
+ "title": "My incident",
+ "owner": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "assignedTo": "john doe"
+ },
+ "severity": "High",
+ "classification": "FalsePositive",
+ "status": "Closed",
+ "incidentNumber": 3177,
+ "labels": [],
+ "additionalData": {
+ "alertsCount": 0,
+ "bookmarksCount": 0,
+ "commentsCount": 3,
+ "alertProductNames": [],
+ "tactics": []
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/DeleteIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/DeleteIncident.json
new file mode 100644
index 000000000000..bfd04662497a
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/DeleteIncident.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetIncidentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetIncidentById.json
new file mode 100644
index 000000000000..98ce12d79286
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetIncidentById.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/incidents",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "lastModifiedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "lastActivityTimeUtc": "2019-01-01T13:05:30Z",
+ "firstActivityTimeUtc": "2019-01-01T13:00:30Z",
+ "description": "This is a demo incident",
+ "title": "My incident",
+ "owner": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "assignedTo": "john doe"
+ },
+ "severity": "High",
+ "classification": "FalsePositive",
+ "status": "Closed",
+ "incidentNumber": 3177,
+ "labels": [],
+ "additionalData": {
+ "alertsCount": 0,
+ "bookmarksCount": 0,
+ "commentsCount": 3,
+ "alertProductNames": [],
+ "tactics": [
+ "InitialAccess",
+ "Persistence"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetIncidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetIncidents.json
new file mode 100644
index 000000000000..1933c0febc34
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/GetIncidents.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "$orderby": "properties/createdTimeUtc desc",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/incidents",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "lastModifiedTimeUtc": "2019-01-01T13:15:30Z",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "lastActivityTimeUtc": "2019-01-01T13:05:30Z",
+ "firstActivityTimeUtc": "2019-01-01T13:00:30Z",
+ "description": "This is a demo incident",
+ "title": "My incident",
+ "owner": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "assignedTo": "john doe"
+ },
+ "severity": "High",
+ "classification": "FalsePositive",
+ "status": "Closed",
+ "incidentNumber": 3177,
+ "labels": [],
+ "additionalData": {
+ "alertsCount": 0,
+ "bookmarksCount": 0,
+ "commentsCount": 3,
+ "alertProductNames": [],
+ "tactics": [
+ "Persistence"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json
new file mode 100644
index 000000000000..e82cacf4bc78
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/CreateIncidentComment.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "incidentComment": {
+ "properties": {
+ "message": "Some message"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/comments",
+ "properties": {
+ "message": "Some message",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "author": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "name": "john doe"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json
new file mode 100644
index 000000000000..87dbdd886e30
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/comments",
+ "properties": {
+ "message": "Some message",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "author": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "name": "john doe"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json
new file mode 100644
index 000000000000..fe757de317b3
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/comments",
+ "properties": {
+ "message": "Some message",
+ "createdTimeUtc": "2019-01-01T13:15:30Z",
+ "author": {
+ "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70",
+ "email": "john.doe@contoso.com",
+ "userPrincipalName": "john@contoso.com",
+ "name": "john doe"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/CreateIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/CreateIncidentRelation.json
new file mode 100644
index 000000000000..bbc267ef2842
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/CreateIncidentRelation.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "relation": {
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/relations",
+ "etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceType": "Microsoft.SecurityInsights/bookmarks"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/relations",
+ "etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceType": "Microsoft.SecurityInsights/bookmarks"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/DeleteIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/DeleteIncidentRelation.json
new file mode 100644
index 000000000000..c0ebcb3647ab
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/DeleteIncidentRelation.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/GetAllIncidentRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/GetAllIncidentRelations.json
new file mode 100644
index 000000000000..9fda5d1dfb05
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/GetAllIncidentRelations.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/relations",
+ "etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceType": "Microsoft.SecurityInsights/bookmarks"
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/9673a17d-8bc7-4ca6-88ee-38a4f3efc032",
+ "name": "9673a17d-8bc7-4ca6-88ee-38a4f3efc032",
+ "type": "Microsoft.SecurityInsights/incidents/relations",
+ "etag": "6f714025-dd7c-46aa-b5d0-b9857488d060",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/1dd267cd-8a1f-4f6f-b92c-da43ac8819af",
+ "relatedResourceName": "1dd267cd-8a1f-4f6f-b92c-da43ac8819af",
+ "relatedResourceType": "Microsoft.SecurityInsights/entities",
+ "relatedResourceKind": "SecurityAlert"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/GetIncidentRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/GetIncidentRelationByName.json
new file mode 100644
index 000000000000..22cc32e2554f
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/incidents/relations/GetIncidentRelationByName.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812",
+ "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014",
+ "type": "Microsoft.SecurityInsights/incidents/relations",
+ "etag": "190057d0-0000-0d00-0000-5c6f5adb0000",
+ "properties": {
+ "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096",
+ "relatedResourceType": "Microsoft.SecurityInsights/bookmarks"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json
new file mode 100644
index 000000000000..0dae763435cf
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json
@@ -0,0 +1,2445 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Security Insights",
+ "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider",
+ "version": "2020-01-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.SecurityInsights/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists all operations available Azure Security Insights Resource Provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved operations list.",
+ "schema": {
+ "$ref": "#/definitions/OperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules": {
+ "get": {
+ "x-ms-examples": {
+ "Get all alert rules.": {
+ "$ref": "./examples/alertRules/GetAllAlertRules.json"
+ }
+ },
+ "tags": [
+ "Alert Rules"
+ ],
+ "description": "Gets all alert rules.",
+ "operationId": "AlertRules_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AlertRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get a Scheduled alert rule.": {
+ "$ref": "./examples/alertRules/GetScheduledAlertRule.json"
+ },
+ "Get a Fusion alert rule.": {
+ "$ref": "./examples/alertRules/GetFusionAlertRule.json"
+ },
+ "Get a MicrosoftSecurityIncidentCreation rule.": {
+ "$ref": "./examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json"
+ }
+ },
+ "tags": [
+ "Alert Rules"
+ ],
+ "description": "Gets the alert rule.",
+ "operationId": "AlertRules_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or updates a Scheduled alert rule.": {
+ "$ref": "./examples/alertRules/CreateScheduledAlertRule.json"
+ },
+ "Creates or updates a Fusion alert rule.": {
+ "$ref": "./examples/alertRules/CreateFusionAlertRule.json"
+ },
+ "Creates or updates a MicrosoftSecurityIncidentCreation rule.": {
+ "$ref": "./examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json"
+ }
+ },
+ "tags": [
+ "Alert Rules"
+ ],
+ "description": "Creates or updates the alert rule.",
+ "operationId": "AlertRules_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ },
+ {
+ "$ref": "#/parameters/AlertRule"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an alert rule.": {
+ "$ref": "./examples/alertRules/DeleteAlertRule.json"
+ }
+ },
+ "tags": [
+ "Alert Rules"
+ ],
+ "description": "Delete the alert rule.",
+ "operationId": "AlertRules_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions": {
+ "get": {
+ "x-ms-examples": {
+ "Get all actions of alert rule.": {
+ "$ref": "./examples/actions/GetAllActionsByAlertRule.json"
+ }
+ },
+ "tags": [
+ "Actions"
+ ],
+ "description": "Gets all actions of alert rule.",
+ "operationId": "Actions_ListByAlertRule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an action of alert rule.": {
+ "$ref": "./examples/actions/GetActionOfAlertRuleById.json"
+ }
+ },
+ "tags": [
+ "Actions"
+ ],
+ "description": "Gets the action of alert rule.",
+ "operationId": "AlertRules_GetAction",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ },
+ {
+ "$ref": "#/parameters/ActionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or updates an action of alert rule.": {
+ "$ref": "./examples/actions/CreateActionOfAlertRule.json"
+ }
+ },
+ "tags": [
+ "Actions"
+ ],
+ "description": "Creates or updates the action of alert rule.",
+ "operationId": "AlertRules_CreateOrUpdateAction",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ },
+ {
+ "$ref": "#/parameters/ActionId"
+ },
+ {
+ "$ref": "#/parameters/Action"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ActionResponse"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ActionResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an action of alert rule.": {
+ "$ref": "./examples/actions/DeleteActionOfAlertRule.json"
+ }
+ },
+ "tags": [
+ "Actions"
+ ],
+ "description": "Delete the action of alert rule.",
+ "operationId": "AlertRules_DeleteAction",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/RuleId"
+ },
+ {
+ "$ref": "#/parameters/ActionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors": {
+ "get": {
+ "x-ms-examples": {
+ "Get all data connectors.": {
+ "$ref": "./examples/dataConnectors/GetDataConnectors.json"
+ }
+ },
+ "tags": [
+ "Data Connectors"
+ ],
+ "description": "Gets all data connectors.",
+ "operationId": "DataConnectors_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataConnectorList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an Office365 data connector.": {
+ "$ref": "./examples/dataConnectors/GetOfficeDataConnetorById.json"
+ },
+ "Get a TI data connector.": {
+ "$ref": "./examples/dataConnectors/GetThreatIntelligenceById.json"
+ },
+ "Get a MCAS data connector.": {
+ "$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json"
+ },
+ "Get a ASC data connector.": {
+ "$ref": "./examples/dataConnectors/GetAzureSecurityCenterById.json"
+ },
+ "Get an AAD data connector.": {
+ "$ref": "./examples/dataConnectors/GetAzureActiveDirectoryById.json"
+ },
+ "Get an AwsCloudTrail data connector.": {
+ "$ref": "./examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json"
+ },
+ "Get an AATP data connector.": {
+ "$ref": "./examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json"
+ },
+ "Get a MDATP data connector": {
+ "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json"
+ }
+ },
+ "tags": [
+ "Data Connectors"
+ ],
+ "description": "Gets a data connector.",
+ "operationId": "DataConnectors_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/DataConnectorId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataConnector"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or updates an Office365 data connector.": {
+ "$ref": "./examples/dataConnectors/CreateOfficeDataConnetor.json"
+ }
+ },
+ "tags": [
+ "Data Connectors"
+ ],
+ "description": "Creates or updates the data connector.",
+ "operationId": "DataConnectors_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/DataConnectorId"
+ },
+ {
+ "$ref": "#/parameters/DataConnector"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataConnector"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DataConnector"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an Office365 data connector.": {
+ "$ref": "./examples/dataConnectors/DeleteOfficeDataConnetor.json"
+ }
+ },
+ "tags": [
+ "Data Connectors"
+ ],
+ "description": "Delete the data connector.",
+ "operationId": "DataConnectors_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/DataConnectorId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AADDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents AAD (Azure Active Directory) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AADDataConnectorProperties",
+ "description": "AAD (Azure Active Directory) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "AzureActiveDirectory"
+ },
+ "AADDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorWithAlertsProperties"
+ }
+ ],
+ "description": "AAD (Azure Active Directory) data connector properties.",
+ "type": "object"
+ },
+ "AATPDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents AATP (Azure Advanced Threat Protection) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AATPDataConnectorProperties",
+ "description": "AATP (Azure Advanced Threat Protection) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "AzureAdvancedThreatProtection"
+ },
+ "AATPDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorWithAlertsProperties"
+ }
+ ],
+ "description": "AATP (Azure Advanced Threat Protection) data connector properties.",
+ "type": "object"
+ },
+ "ASCDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents ASC (Azure Security Center) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ASCDataConnectorProperties",
+ "description": "ASC (Azure Security Center) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "AzureSecurityCenter"
+ },
+ "ASCDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorWithAlertsProperties"
+ }
+ ],
+ "description": "ASC (Azure Security Center) data connector properties.",
+ "properties": {
+ "subscriptionId": {
+ "description": "The subscription id to connect to, and get the data from.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ActionRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ }
+ ],
+ "description": "Action for alert rule.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ActionRequestProperties",
+ "description": "Action properties for put request",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "ActionPropertiesBase": {
+ "description": "Action property bag base.",
+ "properties": {
+ "logicAppResourceId": {
+ "description": "Logic App Resource Id, providers/Microsoft.Logic/workflows/{WorkflowID}.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "logicAppResourceId"
+ ],
+ "type": "object"
+ },
+ "ActionRequestProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionPropertiesBase"
+ }
+ ],
+ "description": "Action property bag.",
+ "properties": {
+ "triggerUri": {
+ "description": "Logic App Callback URL for this specific workflow.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ActionResponse": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Action for alert rule.",
+ "properties": {
+ "etag": {
+ "description": "Etag of the action.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ActionResponseProperties",
+ "description": "Action properties for get request",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "ActionResponseProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionPropertiesBase"
+ }
+ ],
+ "description": "Action property bag.",
+ "properties": {
+ "workflowId": {
+ "description": "The name of the logic app's workflow.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ActionsList": {
+ "description": "List all the actions.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of actions.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of actions.",
+ "items": {
+ "$ref": "#/definitions/ActionResponse"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "AlertRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ },
+ {
+ "$ref": "#/definitions/AlertRuleKind"
+ }
+ ],
+ "description": "Alert rule.",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "AlertRuleKind": {
+ "description": "Describes an Azure resource with kind.",
+ "properties": {
+ "kind": {
+ "description": "The kind of the alert rule",
+ "enum": [
+ "Scheduled",
+ "MicrosoftSecurityIncidentCreation",
+ "Fusion"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AlertRuleKind",
+ "values": [
+ {
+ "value": "Scheduled"
+ },
+ {
+ "value": "MicrosoftSecurityIncidentCreation"
+ },
+ {
+ "value": "Fusion"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "AlertRuleTemplate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/AlertRuleKind"
+ }
+ ],
+ "description": "Alert rule template.",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "AlertRuleTemplateDataSource": {
+ "description": "alert rule template data sources",
+ "properties": {
+ "connectorId": {
+ "description": "The connector id that provides the following data types",
+ "type": "string"
+ },
+ "dataTypes": {
+ "description": "The data types used by the alert rule template",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "AlertRuleTemplatePropertiesBase": {
+ "description": "Base alert rule template property bag.",
+ "properties": {
+ "alertRulesCreatedByTemplateCount": {
+ "description": "the number of alert rules that were created by this template",
+ "type": "integer"
+ },
+ "createdDateUTC": {
+ "description": "The time that this alert rule template has been added.",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the alert rule template.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name for alert rule template.",
+ "type": "string"
+ },
+ "requiredDataConnectors": {
+ "description": "The required data connectors for this template",
+ "items": {
+ "$ref": "#/definitions/AlertRuleTemplateDataSource"
+ },
+ "type": "array"
+ },
+ "status": {
+ "description": "The alert rule template status.",
+ "enum": [
+ "Installed",
+ "Available",
+ "NotAvailable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "TemplateStatus",
+ "values": [
+ {
+ "description": "Alert rule template installed. and can not use more then once",
+ "value": "Installed"
+ },
+ {
+ "description": "Alert rule template is available.",
+ "value": "Available"
+ },
+ {
+ "description": "Alert rule template is not available",
+ "value": "NotAvailable"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ },
+ "AlertRuleTriggerOperator": {
+ "description": "The operation against the threshold that triggers alert rule.",
+ "enum": [
+ "GreaterThan",
+ "LessThan",
+ "Equal",
+ "NotEqual"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "TriggerOperator"
+ }
+ },
+ "AlertRulesList": {
+ "description": "List all the alert rules.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of alert rules.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of alert rules.",
+ "items": {
+ "$ref": "#/definitions/AlertRule"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "AlertSeverity": {
+ "description": "The severity of the alert",
+ "enum": [
+ "High",
+ "Medium",
+ "Low",
+ "Informational"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AlertSeverity",
+ "values": [
+ {
+ "description": "High severity",
+ "value": "High"
+ },
+ {
+ "description": "Medium severity",
+ "value": "Medium"
+ },
+ {
+ "description": "Low severity",
+ "value": "Low"
+ },
+ {
+ "description": "Informational severity",
+ "value": "Informational"
+ }
+ ]
+ }
+ },
+ "AlertsDataTypeOfDataConnector": {
+ "description": "Alerts data type for data connectors.",
+ "properties": {
+ "alerts": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Alerts data type connection.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AttackTactic": {
+ "description": "The severity for alerts created by this alert rule.",
+ "enum": [
+ "InitialAccess",
+ "Execution",
+ "Persistence",
+ "PrivilegeEscalation",
+ "DefenseEvasion",
+ "CredentialAccess",
+ "Discovery",
+ "LateralMovement",
+ "Collection",
+ "Exfiltration",
+ "CommandAndControl",
+ "Impact"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AttackTactic"
+ }
+ },
+ "AwsCloudTrailDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents Amazon Web Services CloudTrail data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties",
+ "description": "Amazon Web Services CloudTrail data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "AmazonWebServicesCloudTrail"
+ },
+ "AwsCloudTrailDataConnectorDataTypes": {
+ "description": "The available data types for Amazon Web Services CloudTrail data connector.",
+ "properties": {
+ "logs": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Logs data type.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AwsCloudTrailDataConnectorProperties": {
+ "description": "Amazon Web Services CloudTrail data connector properties.",
+ "properties": {
+ "awsRoleArn": {
+ "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.",
+ "type": "string"
+ },
+ "dataTypes": {
+ "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "CloudError": {
+ "description": "Error response structure.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Error data",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "Error details.",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "x-ms-external": true
+ },
+ "DataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorKind"
+ }
+ ],
+ "description": "Data connector.",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "DataConnectorDataTypeCommon": {
+ "description": "Common field for data type in data connectors.",
+ "properties": {
+ "state": {
+ "description": "Describe whether this data type connection is enabled or not.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataTypeState"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "DataConnectorKind": {
+ "description": "Describes an Azure resource with kind.",
+ "properties": {
+ "kind": {
+ "description": "The kind of the data connector",
+ "enum": [
+ "AzureActiveDirectory",
+ "AzureSecurityCenter",
+ "MicrosoftCloudAppSecurity",
+ "ThreatIntelligence",
+ "Office365",
+ "AmazonWebServicesCloudTrail",
+ "AzureAdvancedThreatProtection",
+ "MicrosoftDefenderAdvancedThreatProtection"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataConnectorKind",
+ "values": [
+ {
+ "value": "AzureActiveDirectory"
+ },
+ {
+ "value": "AzureSecurityCenter"
+ },
+ {
+ "value": "MicrosoftCloudAppSecurity"
+ },
+ {
+ "value": "ThreatIntelligence"
+ },
+ {
+ "value": "Office365"
+ },
+ {
+ "value": "AmazonWebServicesCloudTrail"
+ },
+ {
+ "value": "AzureAdvancedThreatProtection"
+ },
+ {
+ "value": "MicrosoftDefenderAdvancedThreatProtection"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ },
+ "DataConnectorList": {
+ "description": "List all the data connectors.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of data connectors.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of data connectors.",
+ "items": {
+ "$ref": "#/definitions/DataConnector"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DataConnectorTenantId": {
+ "description": "Properties data connector on tenant level.",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant id to connect to, and get the data from.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DataConnectorWithAlertsProperties": {
+ "description": "Data connector properties.",
+ "properties": {
+ "dataTypes": {
+ "$ref": "#/definitions/AlertsDataTypeOfDataConnector",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "FusionAlertRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRule"
+ }
+ ],
+ "description": "Represents Fusion alert rule.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FusionAlertRuleProperties",
+ "description": "Fusion alert rule properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Fusion"
+ },
+ "FusionAlertRuleProperties": {
+ "description": "Fusion alert rule base property bag.",
+ "properties": {
+ "alertRuleTemplateName": {
+ "description": "The Name of the alert rule template used to create this rule.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the alert rule.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name for alerts created by this alert rule.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Determines whether this alert rule is enabled or disabled.",
+ "type": "boolean"
+ },
+ "lastModifiedUtc": {
+ "description": "The last time that this alert has been modified.",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "severity": {
+ "$ref": "#/definitions/AlertSeverity",
+ "description": "The severity for alerts created by this alert rule.",
+ "readOnly": true
+ },
+ "tactics": {
+ "description": "The tactics of the alert rule",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "required": [
+ "alertRuleTemplateName",
+ "enabled"
+ ],
+ "type": "object"
+ },
+ "FusionAlertRuleTemplate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRuleTemplate"
+ }
+ ],
+ "description": "Represents Fusion alert rule template.",
+ "properties": {
+ "properties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRuleTemplatePropertiesBase"
+ }
+ ],
+ "description": "Fusion alert rule template properties",
+ "properties": {
+ "severity": {
+ "$ref": "#/definitions/AlertSeverity",
+ "description": "The severity for alerts created by this alert rule."
+ },
+ "tactics": {
+ "description": "The tactics of the alert rule template",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "displayName",
+ "description",
+ "status",
+ "severity",
+ "alertRulesCreatedByTemplateCount"
+ ],
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Fusion"
+ },
+ "Label": {
+ "description": "Label that will be used to tag and filter on.",
+ "type": "string"
+ },
+ "MCASDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents MCAS (Microsoft Cloud App Security) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MCASDataConnectorProperties",
+ "description": "MCAS (Microsoft Cloud App Security) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "MicrosoftCloudAppSecurity"
+ },
+ "MCASDataConnectorDataTypes": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertsDataTypeOfDataConnector"
+ }
+ ],
+ "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.",
+ "properties": {
+ "discoveryLogs": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Discovery log data type connection.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "MCASDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "MCAS (Microsoft Cloud App Security) data connector properties.",
+ "properties": {
+ "dataTypes": {
+ "$ref": "#/definitions/MCASDataConnectorDataTypes",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "MDATPDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MDATPDataConnectorProperties",
+ "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection"
+ },
+ "MDATPDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ },
+ {
+ "$ref": "#/definitions/DataConnectorWithAlertsProperties"
+ }
+ ],
+ "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.",
+ "type": "object"
+ },
+ "MicrosoftSecurityIncidentCreationAlertRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRule"
+ }
+ ],
+ "description": "Represents MicrosoftSecurityIncidentCreation rule.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties",
+ "description": "MicrosoftSecurityIncidentCreation rule properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation"
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": {
+ "description": "MicrosoftSecurityIncidentCreation rule common property bag.",
+ "properties": {
+ "displayNamesFilter": {
+ "description": "the alerts' displayNames on which the cases will be generated",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "productFilter": {
+ "description": "The alerts' productName on which the cases will be generated",
+ "enum": [
+ "Microsoft Cloud App Security",
+ "Azure Security Center",
+ "Azure Advanced Threat Protection",
+ "Azure Active Directory Identity Protection",
+ "Azure Security Center for IoT"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "MicrosoftSecurityProductName"
+ }
+ },
+ "severitiesFilter": {
+ "description": "the alerts' severities on which the cases will be generated",
+ "items": {
+ "$ref": "#/definitions/AlertSeverity"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "productFilter"
+ ],
+ "type": "object"
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties"
+ }
+ ],
+ "description": "MicrosoftSecurityIncidentCreation rule property bag.",
+ "properties": {
+ "alertRuleTemplateName": {
+ "description": "The Name of the alert rule template used to create this rule.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the alert rule.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name for alerts created by this alert rule.",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Determines whether this alert rule is enabled or disabled.",
+ "type": "boolean"
+ },
+ "lastModifiedUtc": {
+ "description": "The last time that this alert has been modified.",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "displayName",
+ "enabled",
+ "productFilter"
+ ],
+ "type": "object"
+ },
+ "MicrosoftSecurityIncidentCreationAlertRuleTemplate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRuleTemplate"
+ }
+ ],
+ "description": "Represents MicrosoftSecurityIncidentCreation rule template.",
+ "properties": {
+ "properties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRuleTemplatePropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties"
+ }
+ ],
+ "description": "MicrosoftSecurityIncidentCreation rule template properties",
+ "required": [
+ "displayName",
+ "description",
+ "createdDateUTC",
+ "status",
+ "alertRulesCreatedByTemplateCount",
+ "productFilter"
+ ],
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation"
+ },
+ "OfficeConsent": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Consent for Office365 tenant that already made.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OfficeConsentProperties",
+ "description": "Office consent properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object"
+ },
+ "OfficeConsentList": {
+ "description": "List of all the office365 consents.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of office consents.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of the consents.",
+ "items": {
+ "$ref": "#/definitions/OfficeConsent"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "OfficeConsentProperties": {
+ "description": "Consent property bag.",
+ "properties": {
+ "tenantId": {
+ "description": "The tenantId of the Office365 with the consent.",
+ "type": "string"
+ },
+ "tenantName": {
+ "description": "The tenant name of the Office365 with the consent.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "OfficeDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents office data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OfficeDataConnectorProperties",
+ "description": "Office data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Office365"
+ },
+ "OfficeDataConnectorDataTypes": {
+ "description": "The available data types for office data connector.",
+ "properties": {
+ "exchange": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Exchange data type connection.",
+ "type": "object"
+ },
+ "sharePoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "SharePoint data type connection.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "OfficeDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "Office data connector properties.",
+ "properties": {
+ "dataTypes": {
+ "$ref": "#/definitions/OfficeDataConnectorDataTypes",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "Operation": {
+ "description": "Operation provided by provider",
+ "properties": {
+ "display": {
+ "description": "Properties of the operation",
+ "properties": {
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation name",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Provider name",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "Lists the operations available in the SecurityInsights RP.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of operations",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Resource": {
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "description": "Azure resource Id",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Azure resource name",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Azure resource type",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceWithEtag": {
+ "description": "An azure resource object with an Etag property",
+ "properties": {
+ "id": {
+ "description": "Azure resource Id",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Azure resource name",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Azure resource type",
+ "readOnly": true,
+ "type": "string"
+ },
+ "etag": {
+ "description": "Etag of the azure resource",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ScheduledAlertRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRule"
+ }
+ ],
+ "description": "Represents scheduled alert rule.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScheduledAlertRuleProperties",
+ "description": "Scheduled alert rule properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Scheduled"
+ },
+ "ScheduledAlertRuleCommonProperties": {
+ "description": "Schedule alert rule template property bag.",
+ "properties": {
+ "query": {
+ "description": "The query that creates alerts for this rule.",
+ "type": "string"
+ },
+ "queryFrequency": {
+ "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.",
+ "format": "duration",
+ "type": "string"
+ },
+ "queryPeriod": {
+ "description": "The period (in ISO 8601 duration format) that this alert rule looks at.",
+ "format": "duration",
+ "type": "string"
+ },
+ "severity": {
+ "$ref": "#/definitions/AlertSeverity",
+ "description": "The severity for alerts created by this alert rule."
+ },
+ "triggerOperator": {
+ "$ref": "#/definitions/AlertRuleTriggerOperator",
+ "description": "The operation against the threshold that triggers alert rule."
+ },
+ "triggerThreshold": {
+ "description": "The threshold triggers this alert rule.",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ScheduledAlertRuleProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduledAlertRuleCommonProperties"
+ }
+ ],
+ "description": "Scheduled alert rule base property bag.",
+ "properties": {
+ "alertRuleTemplateName": {
+ "description": "The Name of the alert rule template used to create this rule.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the alert rule.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name for alerts created by this alert rule.",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Determines whether this alert rule is enabled or disabled.",
+ "type": "boolean"
+ },
+ "lastModifiedUtc": {
+ "description": "The last time that this alert rule has been modified.",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "suppressionDuration": {
+ "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.",
+ "format": "duration",
+ "type": "string"
+ },
+ "suppressionEnabled": {
+ "description": "Determines whether the suppression for this alert rule is enabled or disabled.",
+ "type": "boolean"
+ },
+ "tactics": {
+ "description": "The tactics of the alert rule",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "displayName",
+ "enabled",
+ "severity",
+ "query",
+ "queryFrequency",
+ "queryPeriod",
+ "triggerOperator",
+ "triggerThreshold",
+ "suppressionEnabled",
+ "suppressionDuration"
+ ],
+ "type": "object"
+ },
+ "ScheduledAlertRuleTemplate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRuleTemplate"
+ }
+ ],
+ "description": "Represents scheduled alert rule template.",
+ "properties": {
+ "properties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AlertRuleTemplatePropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/ScheduledAlertRuleCommonProperties"
+ }
+ ],
+ "description": "Scheduled alert rule template properties",
+ "properties": {
+ "tactics": {
+ "description": "The tactics of the alert rule template",
+ "items": {
+ "$ref": "#/definitions/AttackTactic"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "displayName",
+ "description",
+ "status",
+ "alertRulesCreatedByTemplateCount",
+ "severity",
+ "query",
+ "queryFrequency",
+ "queryPeriod",
+ "triggerOperator",
+ "triggerThreshold"
+ ],
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "Scheduled"
+ },
+ "Settings": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceWithEtag"
+ },
+ {
+ "$ref": "#/definitions/SettingsKind"
+ }
+ ],
+ "description": "The Setting.",
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ "SettingsKind": {
+ "description": "Describes an Azure resource with kind.",
+ "properties": {
+ "kind": {
+ "description": "The kind of the setting",
+ "enum": [
+ "UebaSettings",
+ "ToggleSettings"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SettingKind"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TIDataConnector": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnector"
+ }
+ ],
+ "description": "Represents threat intelligence data connector.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TIDataConnectorProperties",
+ "description": "TI (Threat Intelligence) data connector properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "ThreatIntelligence"
+ },
+ "TIDataConnectorDataTypes": {
+ "description": "The available data types for TI (Threat Intelligence) data connector.",
+ "properties": {
+ "indicators": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorDataTypeCommon"
+ }
+ ],
+ "description": "Data type for indicators connection.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "TIDataConnectorProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnectorTenantId"
+ }
+ ],
+ "description": "TI (Threat Intelligence) data connector properties.",
+ "properties": {
+ "dataTypes": {
+ "$ref": "#/definitions/TIDataConnectorDataTypes",
+ "description": "The available data types for the connector."
+ }
+ },
+ "type": "object"
+ },
+ "ThreatIntelligence": {
+ "description": "ThreatIntelligence property bag.",
+ "properties": {
+ "confidence": {
+ "description": "Confidence (must be between 0 and 1)",
+ "format": "double",
+ "readOnly": true,
+ "type": "number"
+ },
+ "providerName": {
+ "description": "Name of the provider from whom this Threat Intelligence information was received",
+ "readOnly": true,
+ "type": "string"
+ },
+ "reportLink": {
+ "description": "Report link",
+ "readOnly": true,
+ "type": "string"
+ },
+ "threatDescription": {
+ "description": "Threat description (free text)",
+ "readOnly": true,
+ "type": "string"
+ },
+ "threatName": {
+ "description": "Threat name (e.g. \"Jedobot malware\")",
+ "readOnly": true,
+ "type": "string"
+ },
+ "threatType": {
+ "description": "Threat type (e.g. \"Botnet\")",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ToggleSettings": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Settings"
+ }
+ ],
+ "description": "Settings with single toggle.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ToggleSettingsProperties",
+ "description": "toggle properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "ToggleSettings"
+ },
+ "ToggleSettingsProperties": {
+ "description": "toggle property bag.",
+ "properties": {
+ "isEnabled": {
+ "description": "Determines whether the setting is enable or disabled.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "UebaSettings": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Settings"
+ }
+ ],
+ "description": "Represents settings for User and Entity Behavior Analytics enablement.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UebaSettingsProperties",
+ "description": "User and Entity Behavior Analytics settings properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "type": "object",
+ "x-ms-discriminator-value": "UebaSettings"
+ },
+ "UebaSettingsProperties": {
+ "description": "User and Entity Behavior Analytics settings property bag.",
+ "properties": {
+ "atpLicenseStatus": {
+ "description": "Determines whether the tenant has ATP (Advanced Threat Protection) license.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "LicenseStatus"
+ }
+ },
+ "isEnabled": {
+ "description": "Determines whether User and Entity Behavior Analytics is enabled for this workspace.",
+ "type": "boolean"
+ },
+ "statusInMcas": {
+ "description": "Determines whether User and Entity Behavior Analytics is enabled from MCAS (Microsoft Cloud App Security).",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StatusInMcas"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UserInfo": {
+ "description": "User information that made some action",
+ "properties": {
+ "email": {
+ "description": "The email of the user.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the user.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object id of the user.",
+ "format": "uuid",
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "required": [
+ "objectId"
+ ],
+ "type": "object"
+ },
+ "IncidentInfo": {
+ "description": "Describes related incident information for the bookmark",
+ "properties": {
+ "incidentId": {
+ "description": "Incident Id",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the incident",
+ "enum": [
+ "Critical",
+ "High",
+ "Medium",
+ "Low",
+ "Informational"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "IncidentSeverity",
+ "values": [
+ {
+ "description": "Critical severity",
+ "value": "Critical"
+ },
+ {
+ "description": "High severity",
+ "value": "High"
+ },
+ {
+ "description": "Medium severity",
+ "value": "Medium"
+ },
+ {
+ "description": "Low severity",
+ "value": "Low"
+ },
+ {
+ "description": "Informational severity",
+ "value": "Informational"
+ }
+ ]
+ }
+ },
+ "title": {
+ "description": "The title of the incident",
+ "type": "string"
+ },
+ "relationName": {
+ "description": "Relation Name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "incidentId",
+ "severity",
+ "title",
+ "relationName"
+ ],
+ "type": "object"
+ }
+ },
+ "parameters": {
+ "Action": {
+ "description": "The action",
+ "in": "body",
+ "name": "action",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionRequest"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ActionId": {
+ "description": "Action ID",
+ "in": "path",
+ "name": "actionId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AggregationsName": {
+ "description": "The aggregation name. Supports - Cases",
+ "in": "path",
+ "name": "aggregationsName",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AlertRule": {
+ "description": "The alert rule",
+ "in": "body",
+ "name": "alertRule",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "AlertRuleTemplateId": {
+ "description": "Alert rule template ID",
+ "in": "path",
+ "name": "alertRuleTemplateId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "description": "API version for the operation",
+ "enum": [
+ "2020-01-01"
+ ],
+ "in": "query",
+ "name": "api-version",
+ "required": true,
+ "type": "string"
+ },
+ "ConsentId": {
+ "description": "consent ID",
+ "in": "path",
+ "name": "consentId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnector": {
+ "description": "The data connector",
+ "in": "body",
+ "name": "dataConnector",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnector"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectorId": {
+ "description": "Connector ID",
+ "in": "path",
+ "name": "dataConnectorId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "EntityId": {
+ "description": "entity ID",
+ "in": "path",
+ "name": "entityId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "EntityQueryId": {
+ "description": "entity query ID",
+ "in": "path",
+ "name": "entityQueryId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ODataFilter": {
+ "description": "Filters the results, based on a Boolean condition. Optional.",
+ "in": "query",
+ "name": "$filter",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ODataOrderBy": {
+ "description": "Sorts the results. Optional.",
+ "in": "query",
+ "name": "$orderby",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ODataSkipToken": {
+ "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. Optional.",
+ "in": "query",
+ "name": "$skipToken",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ODataTop": {
+ "description": "Returns only the first n results. Optional.",
+ "format": "int32",
+ "in": "query",
+ "name": "$top",
+ "required": false,
+ "type": "integer",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupName": {
+ "description": "The name of the resource group within the user's subscription. The name is case insensitive.",
+ "in": "path",
+ "maxLength": 90,
+ "minLength": 1,
+ "name": "resourceGroupName",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RuleId": {
+ "description": "Alert rule ID",
+ "in": "path",
+ "name": "ruleId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Settings": {
+ "description": "The setting",
+ "in": "body",
+ "name": "settings",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Settings"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SettingsName": {
+ "description": "The setting name. Supports- Fusion, UEBA",
+ "in": "path",
+ "name": "settingsName",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionId": {
+ "description": "Azure subscription ID",
+ "in": "path",
+ "name": "subscriptionId",
+ "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$",
+ "required": true,
+ "type": "string"
+ },
+ "WorkspaceName": {
+ "description": "The name of the workspace.",
+ "in": "path",
+ "maxLength": 90,
+ "minLength": 1,
+ "name": "workspaceName",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json
new file mode 100644
index 000000000000..00c3cda73a97
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "action": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "name": "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "type": "Microsoft.SecurityInsights/alertRules/actions",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "name": "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "type": "Microsoft.SecurityInsights/alertRules/actions",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "name": "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "type": "Microsoft.SecurityInsights/alertRules/actions",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/DeleteActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/DeleteActionOfAlertRule.json
new file mode 100644
index 000000000000..7171f40ea567
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/DeleteActionOfAlertRule.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/GetActionOfAlertRuleById.json
new file mode 100644
index 000000000000..8e1e384e1a67
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/GetActionOfAlertRuleById.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "name": "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "type": "Microsoft.SecurityInsights/alertRules/actions",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/GetAllActionsByAlertRule.json
new file mode 100644
index 000000000000..3fd9a05dfb8d
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/GetAllActionsByAlertRule.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "name": "912bec42-cb66-4c03-ac63-1761b6898c3e",
+ "type": "Microsoft.SecurityInsights/alertRules/actions",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "workflowId": "cd3765391efd48549fd7681ded1d48d7",
+ "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json
new file mode 100644
index 000000000000..ef362004531b
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "ruleId": "myFirstFusionRule",
+ "alertRule": {
+ "kind": "Fusion",
+ "etag": "3d00c3ca-0000-0100-0000-5d42d5010000",
+ "properties": {
+ "enabled": "true",
+ "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule",
+ "name": "myFirstFusionRule",
+ "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Fusion",
+ "properties": {
+ "displayName": "Advanced Multi-Stage Attack Detection",
+ "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion",
+ "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8",
+ "tactics": [
+ "Persistence",
+ "LateralMovement",
+ "Exfiltration",
+ "CommandAndControl"
+ ],
+ "severity": "High",
+ "enabled": true,
+ "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule",
+ "name": "myFirstFusionRule",
+ "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Fusion",
+ "properties": {
+ "displayName": "Advanced Multi-Stage Attack Detection",
+ "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion",
+ "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8",
+ "tactics": [
+ "Persistence",
+ "LateralMovement",
+ "Exfiltration",
+ "CommandAndControl"
+ ],
+ "severity": "High",
+ "enabled": true,
+ "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
new file mode 100644
index 000000000000..5f6770266197
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "ruleId": "microsoftSecurityIncidentCreationRuleExample",
+ "alertRule": {
+ "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"",
+ "kind": "MicrosoftSecurityIncidentCreation",
+ "properties": {
+ "productFilter": "Microsoft Cloud App Security",
+ "displayName": "testing displayname",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample",
+ "name": "microsoftSecurityIncidentCreationRuleExample",
+ "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "MicrosoftSecurityIncidentCreation",
+ "properties": {
+ "productFilter": "Microsoft Cloud App Security",
+ "severitiesFilter": null,
+ "displayNamesFilter": null,
+ "displayName": "testing displayname",
+ "enabled": true,
+ "description": null,
+ "alertRuleTemplateName": null,
+ "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample",
+ "name": "microsoftSecurityIncidentCreationRuleExample",
+ "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "MicrosoftSecurityIncidentCreation",
+ "properties": {
+ "productFilter": "Microsoft Cloud App Security",
+ "severitiesFilter": null,
+ "displayNamesFilter": null,
+ "displayName": "testing displayname",
+ "enabled": true,
+ "description": null,
+ "alertRuleTemplateName": null,
+ "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateScheduledAlertRule.json
new file mode 100644
index 000000000000..419d7e30bf09
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateScheduledAlertRule.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "alertRule": {
+ "kind": "Scheduled",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "displayName": "Rule2",
+ "description": "",
+ "severity": "High",
+ "enabled": true,
+ "tactics": [
+ "Persistence",
+ "LateralMovement"
+ ],
+ "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden",
+ "queryFrequency": "PT1H",
+ "queryPeriod": "P2DT1H30M",
+ "triggerOperator": "GreaterThan",
+ "triggerThreshold": 0,
+ "suppressionDuration": "PT1H",
+ "suppressionEnabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Scheduled",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "alertRuleTemplateName": null,
+ "displayName": "Rule2",
+ "description": "",
+ "severity": "High",
+ "enabled": true,
+ "tactics": [
+ "Persistence",
+ "LateralMovement"
+ ],
+ "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden",
+ "queryFrequency": "PT1H",
+ "queryPeriod": "P2DT1H30M",
+ "triggerOperator": "GreaterThan",
+ "triggerThreshold": 0,
+ "suppressionDuration": "PT1H",
+ "suppressionEnabled": false,
+ "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Scheduled",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "alertRuleTemplateName": null,
+ "displayName": "Rule2",
+ "description": "",
+ "severity": "High",
+ "enabled": true,
+ "tactics": [
+ "Persistence",
+ "LateralMovement"
+ ],
+ "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden",
+ "queryFrequency": "PT1H",
+ "queryPeriod": "P2DT1H30M",
+ "triggerOperator": "GreaterThan",
+ "triggerThreshold": 0,
+ "suppressionDuration": "PT1H",
+ "suppressionEnabled": false,
+ "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/DeleteAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/DeleteAlertRule.json
new file mode 100644
index 000000000000..af8489176a37
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/DeleteAlertRule.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetAllAlertRules.json
new file mode 100644
index 000000000000..8278214a32f3
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetAllAlertRules.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Scheduled",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "alertRuleTemplateName": null,
+ "displayName": "Rule2",
+ "description": "",
+ "severity": "High",
+ "enabled": true,
+ "tactics": [
+ "Persistence",
+ "LateralMovement"
+ ],
+ "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden",
+ "queryFrequency": "PT1H",
+ "queryPeriod": "P2DT1H30M",
+ "triggerOperator": "GreaterThan",
+ "triggerThreshold": 0,
+ "suppressionDuration": "PT1H",
+ "suppressionEnabled": false,
+ "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample",
+ "name": "microsoftSecurityIncidentCreationRuleExample",
+ "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "MicrosoftSecurityIncidentCreation",
+ "properties": {
+ "productFilter": "Microsoft Cloud App Security",
+ "severitiesFilter": null,
+ "displayNamesFilter": null,
+ "displayName": "testing displayname",
+ "enabled": true,
+ "description": null,
+ "alertRuleTemplateName": null,
+ "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule",
+ "name": "myFirstFusionRule",
+ "etag": "\"25005c11-0000-0d00-0000-5d6cc0e20000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Fusion",
+ "properties": {
+ "displayName": "Advanced Multi-Stage Attack Detection",
+ "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion",
+ "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8",
+ "tactics": [
+ "Persistence",
+ "LateralMovement",
+ "Exfiltration",
+ "CommandAndControl"
+ ],
+ "severity": "High",
+ "enabled": false,
+ "lastModifiedUtc": "2019-09-02T07:12:34.9065092Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetFusionAlertRule.json
new file mode 100644
index 000000000000..7c12477f716d
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetFusionAlertRule.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "myFirstFusionRule"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule",
+ "name": "myFirstFusionRule",
+ "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Fusion",
+ "properties": {
+ "displayName": "Advanced Multi-Stage Attack Detection",
+ "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion",
+ "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8",
+ "tactics": [
+ "Persistence",
+ "LateralMovement",
+ "Exfiltration",
+ "CommandAndControl"
+ ],
+ "severity": "High",
+ "enabled": true,
+ "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
new file mode 100644
index 000000000000..3260afe2af19
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "microsoftSecurityIncidentCreationRuleExample"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample",
+ "name": "microsoftSecurityIncidentCreationRuleExample",
+ "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "MicrosoftSecurityIncidentCreation",
+ "properties": {
+ "productFilter": "Microsoft Cloud App Security",
+ "severitiesFilter": null,
+ "displayNamesFilter": null,
+ "displayName": "testing displayname",
+ "enabled": true,
+ "description": null,
+ "alertRuleTemplateName": null,
+ "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetScheduledAlertRule.json
new file mode 100644
index 000000000000..c3b74f069693
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/GetScheduledAlertRule.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/alertRules",
+ "kind": "Scheduled",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "alertRuleTemplateName": null,
+ "displayName": "Rule2",
+ "description": "",
+ "severity": "High",
+ "enabled": true,
+ "tactics": [
+ "Persistence",
+ "LateralMovement"
+ ],
+ "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden",
+ "queryFrequency": "PT1H",
+ "queryPeriod": "P2DT1H30M",
+ "triggerOperator": "GreaterThan",
+ "triggerThreshold": 0,
+ "suppressionDuration": "PT1H",
+ "suppressionEnabled": false,
+ "lastModifiedUtc": "2019-01-01T13:15:30Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json
new file mode 100644
index 000000000000..8b13b4b1723b
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "dataConnector": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Office365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "sharePoint": {
+ "state": "Enabled"
+ },
+ "exchange": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Office365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "sharePoint": {
+ "state": "Enabled"
+ },
+ "exchange": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Office365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "sharePoint": {
+ "state": "Enabled"
+ },
+ "exchange": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/DeleteOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/DeleteOfficeDataConnetor.json
new file mode 100644
index 000000000000..c6dfa5a562fc
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/DeleteOfficeDataConnetor.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json
new file mode 100644
index 000000000000..fdcae39200b9
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "name": "c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "kind": "AmazonWebServicesCloudTrail",
+ "properties": {
+ "awsRoleArn": "myAwsRoleArn",
+ "dataTypes": {
+ "logs": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureActiveDirectoryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureActiveDirectoryById.json
new file mode 100644
index 000000000000..75a5325cb3ac
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureActiveDirectoryById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "dataConnectorId": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d",
+ "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "AzureActiveDirectory",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json
new file mode 100644
index 000000000000..08991fc9ee84
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "07e42cb3-e658-4e90-801c-efa0f29d3d44"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44",
+ "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "AzureAdvancedThreatProtection",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureSecurityCenterById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureSecurityCenterById.json
new file mode 100644
index 000000000000..69f572c44756
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetAzureSecurityCenterById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "dataConnectorId": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12",
+ "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "AzureSecurityCenter",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetDataConnectors.json
new file mode 100644
index 000000000000..0f46da365092
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetDataConnectors.json
@@ -0,0 +1,143 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12",
+ "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "AzureSecurityCenter",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "name": "c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "ThreatIntelligence",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "indicators": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d",
+ "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "AzureActiveDirectory",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Office365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "sharePoint": {
+ "state": "Enabled"
+ },
+ "exchange": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42",
+ "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "MicrosoftCloudAppSecurity",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ },
+ "discoveryLogs": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44",
+ "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "AzureAdvancedThreatProtection",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "name": "c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "kind": "AmazonWebServicesCloudTrail",
+ "properties": {
+ "awsRoleArn": "myAwsRoleArn",
+ "dataTypes": {
+ "logs": {
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b",
+ "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "MicrosoftDefenderAdvancedThreatProtection",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json
new file mode 100644
index 000000000000..8dab3597a1fa
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "b96d014d-b5c2-4a01-9aba-a8058f629d42"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42",
+ "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "MicrosoftCloudAppSecurity",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ },
+ "discoveryLogs": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json
new file mode 100644
index 000000000000..57d265c307c6
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights",
+ "dataConnectorId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b",
+ "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "MicrosoftDefenderAdvancedThreatProtection",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "alerts": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetOfficeDataConnetorById.json
new file mode 100644
index 000000000000..14db64f4c8cf
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetOfficeDataConnetorById.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "Office365",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "sharePoint": {
+ "state": "Enabled"
+ },
+ "exchange": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetThreatIntelligenceById.json
new file mode 100644
index 000000000000..6c6fad0178de
--- /dev/null
+++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/GetThreatIntelligenceById.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0",
+ "resourceGroupName": "myRg",
+ "workspaceName": "myWorkspace",
+ "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights",
+ "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "name": "c345bf40-8509-4ed2-b947-50cb773aaf04",
+ "type": "Microsoft.SecurityInsights/dataConnectors",
+ "kind": "ThreatIntelligence",
+ "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
+ "properties": {
+ "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8",
+ "dataTypes": {
+ "indicators": {
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/securityinsights/resource-manager/readme.md b/specification/securityinsights/resource-manager/readme.md
index 6cb5a6afbfae..a95268a0903a 100644
--- a/specification/securityinsights/resource-manager/readme.md
+++ b/specification/securityinsights/resource-manager/readme.md
@@ -35,6 +35,22 @@ These settings apply only when `--tag=package-composite-v1` is specified on the
```yaml $(tag) == 'package-composite-v1'
input-file:
+- Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json
+directive:
+ - suppress: R2059
+ from: Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json
+ reason: it's not actually a resource path; the validator is confused because the LogAnalytics namespace is in the URI path.
+ approved-by: "@lirenhe"
+```
+
+---
+
+### Tag: package-2019-01-preview-only
+
+These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-01-preview-only'
+input-file:
- Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json
```
@@ -99,6 +115,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json
- $(this-folder)/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json
```
diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json
index a1c5d1f71e57..33c89e5d3e11 100644
--- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json
+++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json
@@ -997,6 +997,14 @@
"zoneRedundant": {
"type": "boolean",
"description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Properties of BYOK Identity description"
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Properties of BYOK Encryption description"
}
},
"description": "Properties of the namespace."
@@ -1277,6 +1285,67 @@
}
],
"description": "Description of topic resource."
+ },
+ "Identity": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "ObjectId from the KeyVault"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "TenantId from the KeyVault"
+ },
+ "type": {
+ "type": "string",
+ "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'",
+ "default": "SystemAssigned",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Properties to configure Identity for Bring your Own Keys"
+ },
+ "Encryption": {
+ "x-ms-client-flatten": true,
+ "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.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "keySource",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Properties to configure Encryption"
+ },
+ "KeyVaultProperties": {
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the Key from KeyVault"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "Uri of KeyVault"
+ }
+ },
+ "description": "Properties to configure keyVault Properties"
}
},
"parameters": {
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-1.json
new file mode 100644
index 000000000000..2a7638588821
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-1.json
@@ -0,0 +1,12 @@
+{
+ "operationId": "BackupPartition",
+ "description": "This example shows how to trigger backup of a partition now, which is already configured for periodic backups. The newly created backup will be saved at the same location where the periodic backups are being saved.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "BackupPartitionDescription": {}
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-2.json
new file mode 100644
index 000000000000..9aa037a4d490
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-2.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "BackupPartition",
+ "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific Azure blob storage account.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "BackupPartitionDescription": {
+ "BackupStorage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-3.json
new file mode 100644
index 000000000000..3d9ef05b08e4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/BackupPartition-3.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "BackupPartition",
+ "description": "This example shows how to trigger backup of a partition now, and save the backup to a specific file share accessible from all cluster nodes.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "BackupPartitionDescription": {
+ "BackupStorage": {
+ "StorageKind": "FileShare",
+ "Path": "\\\\myshare\\backupshare",
+ "PrimaryUserName": "mydomain\\backupaccount",
+ "PrimaryPassword": "abcd1234"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateApplication-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateApplication-1.json
new file mode 100644
index 000000000000..815b59ce3e50
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateApplication-1.json
@@ -0,0 +1,15 @@
+{
+ "operationId": "CreateApplication",
+ "description": "This example shows how to create a Service Fabric application without overriding any application parameter values.",
+ "parameters": {
+ "api-version": "6.0",
+ "ApplicationDescription": {
+ "Name": "fabric:/samples/CalcApp",
+ "TypeVersion": "1.0",
+ "TypeName": "CalculatorApp"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateBackupPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateBackupPolicy-1.json
new file mode 100644
index 000000000000..a2bb056ee6d0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateBackupPolicy-1.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "CreateBackupPolicy",
+ "description": "This example shows how to create a backup policy which takes backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 3 months, with Azure blob store as the backup location.",
+ "parameters": {
+ "api-version": "6.4",
+ "BackupPolicyDescription": {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "FriendlyName": "Azure_storagesample",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P3M"
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateBackupPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateBackupPolicy-2.json
new file mode 100644
index 000000000000..f688def9e59e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateBackupPolicy-2.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "CreateBackupPolicy",
+ "description": "This example shows how to create a backup policy which takes backup every 10 minutes which shall get deleted after 20 days, with file share as the backup location.",
+ "parameters": {
+ "api-version": "6.4",
+ "BackupPolicyDescription": {
+ "Name": "FileShare10MinBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "FrequencyBased",
+ "Interval": "PT10M"
+ },
+ "Storage": {
+ "StorageKind": "FileShare",
+ "FriendlyName": "FileShare_myshare",
+ "Path": "\\\\myshare\\backupshare",
+ "PrimaryUserName": "backupaccount",
+ "PrimaryPassword": "abcd1234"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P20D"
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateName-1.json
new file mode 100644
index 000000000000..39588770e334
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateName-1.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "CreateName",
+ "description": "This example shows how to create a new Service Fabric name. The name can be created under an existing name that represents an appliction or a service or under a completely new name.",
+ "parameters": {
+ "api-version": "6.0",
+ "NameDescription": {
+ "Name": "fabric:/samples/CalculatorApp/CalculatorService/Name-1"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-1.json
new file mode 100644
index 000000000000..a969c12cd8a9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-1.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a basic stateless Service Fabric service.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateless",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test1",
+ "ServiceTypeName": "StatelessFrontendService",
+ "PartitionDescription": {
+ "PartitionScheme": "Singleton"
+ },
+ "InstanceCount": 4
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-2.json
new file mode 100644
index 000000000000..bc7ada6bb8be
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-2.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a basic stateful Service Fabric service.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateful",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test2",
+ "ServiceTypeName": "StatefulBackendService",
+ "PartitionDescription": {
+ "PartitionScheme": "Singleton"
+ },
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "HasPersistedState": false
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-3.json
new file mode 100644
index 000000000000..1d12712e405e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-3.json
@@ -0,0 +1,47 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a stateless Service Fabric service with a dns name definied and auto scaling based on cpu usage.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateless",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test1",
+ "ServiceTypeName": "StatelessFrontendService",
+ "InitializationData": [],
+ "PartitionDescription": {
+ "PartitionScheme": "Singleton"
+ },
+ "InstanceCount": 2,
+ "PlacementConstraints": "Color==Blue",
+ "CorrelationScheme": [],
+ "ServiceLoadMetrics": [],
+ "ServicePlacementPolicies": [],
+ "DefaultMoveCost": "Low",
+ "IsDefaultMoveCostSpecified": true,
+ "ServicePackageActivationMode": "ExclusiveProcess",
+ "ServiceDnsName": "test1.test",
+ "ScalingPolicies": [
+ {
+ "ScalingTrigger": {
+ "Kind": "AveragePartitionLoad",
+ "MetricName": "servicefabric:/_CpuCores",
+ "LowerLoadThreshold": 0.300000,
+ "UpperLoadThreshold": 0.800000,
+ "ScaleIntervalInSeconds": 600
+ },
+ "ScalingMechanism": {
+ "Kind": "PartitionInstanceCount",
+ "MinInstanceCount": 1,
+ "MaxInstanceCount": 6,
+ "ScaleIncrement": 2
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-4.json
new file mode 100644
index 000000000000..46f7beb2ade5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/CreateService-4.json
@@ -0,0 +1,46 @@
+{
+ "operationId": "CreateService",
+ "description": "This example shows how to create a stateful Service Fabric service with named partitions and scaling enabled based on memory usage.",
+ "parameters": {
+ "applicationId": "test",
+ "api-version": "6.0",
+ "ServiceDescription": {
+ "ServiceKind": "Stateful",
+ "ApplicationName": "fabric:/test",
+ "ServiceName": "fabric:/test/test2",
+ "ServiceTypeName": "StatefulBackendService",
+ "InitializationData": [],
+ "PartitionDescription": {
+ "PartitionScheme": "NamedPartitionSchemeDescription",
+ "Count": 1,
+ "Names": [
+ "0"
+ ]
+ },
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "HasPersistedState": true,
+ "ServicePackageActivationMode": "ExclusiveProcess",
+ "ScalingPolicies": [
+ {
+ "ScalingTrigger": {
+ "Kind": "AverageServiceLoad",
+ "MetricName": "servicefabric:/_MemoryInMB",
+ "LowerLoadThreshold": 500,
+ "UpperLoadThreshold": 900,
+ "ScaleIntervalInSeconds": 600
+ },
+ "ScalingMechanism": {
+ "Kind": "AddRemoveIncrementalNamedPartition",
+ "MinPartitionCount": 1,
+ "MaxPartitionCount": 3,
+ "ScaleIncrement": 1
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DeleteBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DeleteBackupPolicy.json
new file mode 100644
index 000000000000..d4796b5ede08
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DeleteBackupPolicy.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "DeleteBackupPolicy",
+ "description": "This example shows how to delete an existing backup policy which is currently not associated with any backup entity.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "SampleBackupPolicy"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisableApplicationBackup.json
new file mode 100644
index 000000000000..964fdaa8c3f3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisableApplicationBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "DisableApplicationBackup",
+ "description": "This example shows how to disable periodic backup for a stateful application which was previously enabled.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "DisableBackupDescription": {
+ "CleanBackup": true
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisablePartitionBackup.json
new file mode 100644
index 000000000000..1f6cc6b32ed3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisablePartitionBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "DisablePartitionBackup",
+ "description": "This example shows how to disable periodic backup for a stateful partition which was previously enabled.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "DisableBackupDescription": {
+ "CleanBackup": false
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisableServiceBackup.json
new file mode 100644
index 000000000000..14ca9acf4e25
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/DisableServiceBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "DisableServiceBackup",
+ "description": "This example shows how to disable periodic backup for a stateful service which was previously enabled.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "DisableBackupDescription": {
+ "CleanBackup": true
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnableApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnableApplicationBackup.json
new file mode 100644
index 000000000000..b0e24cd35f67
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnableApplicationBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "EnableApplicationBackup",
+ "description": "This example shows how to enable periodic backup for a stateful application.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "EnableBackupDescription": {
+ "BackupPolicyName": "DailyAzureBackupPolicy"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnablePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnablePartitionBackup.json
new file mode 100644
index 000000000000..739bd06ce60e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnablePartitionBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "EnablePartitionBackup",
+ "description": "This example shows how to enable periodic backup for a stateful partition.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "EnableBackupDescription": {
+ "BackupPolicyName": "DailyAzureBackupPolicy"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnableServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnableServiceBackup.json
new file mode 100644
index 000000000000..0fe38fd714bc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/EnableServiceBackup.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "EnableServiceBackup",
+ "description": "This example shows how to enable periodic backup for a stateful service.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "EnableBackupDescription": {
+ "BackupPolicyName": "DailyAzureBackupPolicy"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetAllEntitiesBackedUpByPolicy-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetAllEntitiesBackedUpByPolicy-1.json
new file mode 100644
index 000000000000..9f4e37d7fdf9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetAllEntitiesBackedUpByPolicy-1.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetAllEntitiesBackedUpByPolicy",
+ "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/DemoApp",
+ "Items": [
+ {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/CalcApp"
+ },
+ {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/DemoApp"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetAllEntitiesBackedUpByPolicy-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetAllEntitiesBackedUpByPolicy-2.json
new file mode 100644
index 000000000000..18f3467fc9ed
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetAllEntitiesBackedUpByPolicy-2.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetAllEntitiesBackedUpByPolicy",
+ "description": "This example shows how to get list of backup entities that are currently associated with a backup policy. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/DemoApp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "EntityKind": "Service",
+ "ServiceName": "fabric:/VotingApp/VotingActorService"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupConfigurationInfo-1.json
new file mode 100644
index 000000000000..3d396dbf082d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupConfigurationInfo-1.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "GetApplicationBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService",
+ "Items": [
+ {
+ "Kind": "Application",
+ "PolicyName": "BackupPolicy1",
+ "PolicyInheritedFrom": "Application",
+ "ApplicationName": "fabric:/CalcApp",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ },
+ {
+ "Kind": "Service",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Service",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupConfigurationInfo-2.json
new file mode 100644
index 000000000000..1ca86bee1983
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupConfigurationInfo-2.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetApplicationBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this application and entities (services and partitions) under this application. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Service",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "SuspensionInfo": {
+ "IsSuspended": true,
+ "SuspensionInheritedFrom": "Partition"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-1.json
new file mode 100644
index 000000000000..bc89f402c6bd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-1.json
@@ -0,0 +1,108 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get list of application backups within a time range.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "StartDateTimeFilter": "2018-01-01T00:00:00Z",
+ "EndDateTimeFilter": "2018-01-01T23:59:59Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "ServiceManifestVersion": "1.0.0",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "ServiceManifestVersion": "1.0.0",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "ServiceManifestVersion": "1.0.0",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-2.json
new file mode 100644
index 000000000000..adb11bc306b8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-2.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get the latest backup for each partition within an application.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "Latest": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "ServiceManifestVersion": "1.0.0",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-3.json
new file mode 100644
index 000000000000..189ba7d18cbf
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-3.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-4.json
new file mode 100644
index 000000000000..537af235a0e2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationBackupList-4.json
@@ -0,0 +1,64 @@
+{
+ "operationId": "GetApplicationBackupList",
+ "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationEventList.json
new file mode 100644
index 000000000000..32bca288ae42
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationEventList.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetApplicationEventList",
+ "description": "This example shows how to get all application-related events during a certain time window.",
+ "parameters": {
+ "applicationId": "app1",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ApplicationCreated",
+ "ApplicationTypeName": "App1Type",
+ "ApplicationTypeVersion": "1.0.1",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription",
+ "ApplicationId": "app1",
+ "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10",
+ "TimeStamp": "2018-04-03T20:21:23.5774199Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoByName-1.json
new file mode 100644
index 000000000000..6d9746679571
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoByName-1.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetApplicationInfo",
+ "description": "This example shows how to get information about an application using it's identifier. If the application is found, information about it is returned with 200 status code. If the application is not found, empty content is returned with 204 status code.",
+ "parameters": {
+ "api-version": "6.0",
+ "applicationId": "samples~CalculatorApp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoList-1.json
new file mode 100644
index 000000000000..2ca46b64e3a4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoList-1.json
@@ -0,0 +1,38 @@
+{
+ "operationId": "GetApplicationInfoList",
+ "description": "This example shows how to get information about applications on the cluster. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.1",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/samples/PQueueApp1",
+ "Items": [
+ {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ },
+ {
+ "Id": "samples~PQueueApp1",
+ "Name": "fabric:/samples/PQueueApp1",
+ "TypeName": "PersistentQueueApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoList-2.json
new file mode 100644
index 000000000000..c0755d26e14b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationInfoList-2.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "GetApplicationInfoList",
+ "description": "This example shows how to page through the information about applications on the cluster using the ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining one result and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.1",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/samples/PQueueApp1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Id": "samples~VQueueApp1",
+ "Name": "fabric:/samples/VQueueApp1",
+ "TypeName": "VolatileQueueApp",
+ "TypeVersion": "1.0",
+ "Status": "Ready",
+ "Parameters": [],
+ "HealthState": "Ok",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-1.json
new file mode 100644
index 000000000000..bcb6a4e5e3b7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-1.json
@@ -0,0 +1,85 @@
+{
+ "operationId": "GetApplicationTypeInfoList",
+ "description": "This example shows how to get information about application types that are provisioned or being provisioned in the cluster. The number of results in a page are limited to maximum of five using MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.0",
+ "MaxResults": 5
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "PersistentQueueApp+2.0",
+ "Items": [
+ {
+ "Name": "CalculatorApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "ServiceInstanceCount",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "CalculatorApp",
+ "Version": "2.0",
+ "DefaultParameterList": [
+ {
+ "Key": "ServiceInstanceCount",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "GatewayApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "GatewayPort",
+ "Value": "8505"
+ },
+ {
+ "Key": "ServiceInstanceCount",
+ "Value": "1000"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-2.json
new file mode 100644
index 000000000000..a7c38cdedbe7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-2.json
@@ -0,0 +1,49 @@
+{
+ "operationId": "GetApplicationTypeInfoList",
+ "description": "This example shows how to page through the information about application types that are provisioned or being provisioned in the cluster using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.0",
+ "MaxResults": 5,
+ "ContinuationToken": "PersistentQueueApp+2.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ },
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [
+ {
+ "Key": "MinReplicaSetSize",
+ "Value": "2"
+ },
+ {
+ "Key": "TargetReplicaSetSize",
+ "Value": "3"
+ }
+ ],
+ "Status": "Available"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-3.json
new file mode 100644
index 000000000000..473565e56c6d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationTypeInfoList-3.json
@@ -0,0 +1,60 @@
+{
+ "operationId": "GetApplicationTypeInfoList",
+ "description": "This example shows how to exclude application parameter in the result when getting the information about application types that are provisioned or being provisioned in the cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "ExcludeApplicationParameters": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "CalculatorApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "CalculatorApp",
+ "Version": "2.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "GatewayApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "PersistentQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "1.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ },
+ {
+ "Name": "VolatileQueueApp",
+ "Version": "2.0",
+ "DefaultParameterList": [],
+ "Status": "Available"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationsEventList.json
new file mode 100644
index 000000000000..fa65ec159120
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetApplicationsEventList.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetApplicationsEventList",
+ "description": "This example shows how to get all applications-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ApplicationCreated",
+ "ApplicationTypeName": "App1Type",
+ "ApplicationTypeVersion": "1.0.1",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription",
+ "ApplicationId": "app1",
+ "EventInstanceId": "8a7a0c42-67ca-4cd3-9160-edcdb822db10",
+ "TimeStamp": "2018-04-03T20:21:23.5774199Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ApplicationCreated",
+ "ApplicationTypeName": "App2Type",
+ "ApplicationTypeVersion": "4.0.1",
+ "ApplicationDefinitionKind": "ServiceFabricApplicationDescription",
+ "ApplicationId": "app2",
+ "EventInstanceId": "d50574bc-6a31-4945-8275-7639bec7a0b3",
+ "TimeStamp": "2018-04-03T20:21:59.74842Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyByName.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyByName.json
new file mode 100644
index 000000000000..411b836109b2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyByName.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetBackupPolicyByName",
+ "description": "This example shows how to query a backup policy by name.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P20D"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyList-1.json
new file mode 100644
index 000000000000..d4ac30f0658a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyList-1.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetBackupPolicyList",
+ "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "FileShare10MinBackupPolicy",
+ "Items": [
+ {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "FriendlyName": "Azure_storagesample",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 30,
+ "RetentionDuration": "P29D"
+ }
+ },
+ {
+ "Name": "FileShare10MinBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "FrequencyBased",
+ "Interval": "PT10M"
+ },
+ "Storage": {
+ "StorageKind": "FileShare",
+ "FriendlyName": "FileShare_myshare",
+ "Path": "\\\\myshare\\backupshare",
+ "PrimaryUserName": "backupaccount",
+ "PrimaryPassword": "****"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 20,
+ "RetentionDuration": "P20D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyList-2.json
new file mode 100644
index 000000000000..ad0e9a860ae4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupPolicyList-2.json
@@ -0,0 +1,42 @@
+{
+ "operationId": "GetBackupPolicyList",
+ "description": "This example shows how to get list of backup policies. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2,
+ "ContinuationToken": "FileShare10MinBackupPolicy"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "AutoRestoreOnDataLoss": false,
+ "Name": "SampleBackupPolicy",
+ "MaxIncrementalBackups": 5,
+ "Schedule": {
+ "ScheduleKind": "FrequencyBased",
+ "Interval": "PT4H5M"
+ },
+ "Storage": {
+ "Path": "\\\\myshare\\BackupStore",
+ "PrimaryUserName": "myuser1",
+ "PrimaryPassword": "****",
+ "SecondaryUserName": "myuser2",
+ "SecondaryPassword": "****",
+ "StorageKind": "FileShare",
+ "FriendlyName": ""
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 0,
+ "RetentionDuration": "P20D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupsFromBackupLocation-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupsFromBackupLocation-1.json
new file mode 100644
index 000000000000..6925de02aeb5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupsFromBackupLocation-1.json
@@ -0,0 +1,73 @@
+{
+ "operationId": "GetBackupsFromBackupLocation",
+ "description": "This example shows how to get list of application backups from a specified backup location. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2,
+ "GetBackupByStorageQueryDescription": {
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "BackupEntity": {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/CalcApp"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupsFromBackupLocation-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupsFromBackupLocation-2.json
new file mode 100644
index 000000000000..190f318797ab
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetBackupsFromBackupLocation-2.json
@@ -0,0 +1,74 @@
+{
+ "operationId": "GetBackupsFromBackupLocation",
+ "description": "This example shows how to get list of application backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "MaxResults": 2,
+ "GetBackupByStorageQueryDescription": {
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "BackupEntity": {
+ "EntityKind": "Application",
+ "ApplicationName": "fabric:/CalcApp"
+ }
+ },
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetChaosEvents.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetChaosEvents.json
new file mode 100644
index 000000000000..4e5d7bb0b4e3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetChaosEvents.json
@@ -0,0 +1,62 @@
+{
+ "operationId": "GetChaosEvents",
+ "description": "This example shows how to get Chaos events in a single response message without the need for paging through ContinuationToken parameter.",
+ "parameters": {
+ "api-version": "6.2",
+ "StartTimeUtc": "0",
+ "EndTimeUtc": "3155378975999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "History": [
+ {
+ "ChaosEvent": {
+ "Kind": "Started",
+ "TimeStampUtc": "2017-04-14T04:27:19.049Z",
+ "ChaosParameters": {
+ "MaxClusterStabilizationTimeoutInSeconds": 30,
+ "MaxConcurrentFaults": 3,
+ "WaitTimeBetweenIterationsInSeconds": 10,
+ "WaitTimeBetweenFaultsInSeconds": 1,
+ "TimeToRunInSeconds": "3600",
+ "EnableMoveReplicaFaults": true,
+ "ClusterHealthPolicy": {
+ "ConsiderWarningAsError": true,
+ "MaxPercentUnhealthyNodes": 0,
+ "MaxPercentUnhealthyApplications": 10,
+ "ApplicationTypeHealthPolicyMap": [
+ {
+ "Key": "myapp",
+ "Value": 3
+ }
+ ]
+ },
+ "Context": {
+ "Map": {
+ "k1": "v1",
+ "k2": "v2",
+ "k3": "v5"
+ }
+ }
+ }
+ }
+ },
+ {
+ "ChaosEvent": {
+ "Kind": "ExecutingFaults",
+ "TimeStampUtc": "2017-04-14T04:27:20.667Z",
+ "Faults": [
+ "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_1, PartitionId: 6a91b09a-bd76-45da-afaa-ed0fd9bfe7d2, ReplicaId: 131366172775684622",
+ "ActionType: CodePackageRestart, NodeName: N0050, ApplicationName: fabric:/TestApp1, ServiceManifestName: SP1, ServiceManifestName: , CodePackageName: CP1.",
+ "ActionType: RestartReplica, ServiceUri: fabric:/TestApp1/PersistServ_6R_3, PartitionId: baa3a51e-5c42-435e-89d3-6e97b2164661, ReplicaId: 131366172988968762"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetClusterEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetClusterEventList.json
new file mode 100644
index 000000000000..3a122bb8aec0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetClusterEventList.json
@@ -0,0 +1,55 @@
+{
+ "operationId": "GetClusterEventList",
+ "description": "This example shows how to get all cluster-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ClusterUpgradeStarted",
+ "CurrentClusterVersion": "0.0.0.0:",
+ "TargetClusterVersion": "6.2:1.0",
+ "UpgradeType": "Rolling",
+ "RollingUpgradeMode": "UnmonitoredAuto",
+ "FailureAction": "Manual",
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:18:59.4313064Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ClusterUpgradeDomainCompleted",
+ "TargetClusterVersion": "6.2:1.0",
+ "UpgradeState": "RollingForward",
+ "UpgradeDomains": "(0 1 2)",
+ "UpgradeDomainElapsedTimeInMs": 78.5288,
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:19:59.5729953Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ClusterUpgradeDomainCompleted",
+ "TargetClusterVersion": "6.2:1.0",
+ "UpgradeState": "RollingForward",
+ "UpgradeDomains": "(3 4)",
+ "UpgradeDomainElapsedTimeInMs": 0.0,
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:20:59.6271949Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ClusterUpgradeCompleted",
+ "TargetClusterVersion": "6.2:1.0",
+ "OverallUpgradeElapsedTimeInMs": 120196.5212,
+ "EventInstanceId": "090add3c-8f56-4d35-8d57-a855745b6064",
+ "TimeStamp": "2018-04-03T20:20:59.8134457Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetClusterVersion-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetClusterVersion-1.json
new file mode 100644
index 000000000000..fd3b6fbf55b8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetClusterVersion-1.json
@@ -0,0 +1,15 @@
+{
+ "operationId": "GetClusterVersion",
+ "description": "This example retrieves the current (or lowest version during upgrade) cluster version.",
+ "parameters": {
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Version": "6.4.514.9494"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-1.json
new file mode 100644
index 000000000000..1be29fb8e6ef
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-1.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "description": "This example shows how to get container logs for container deployed on a Service Fabric node for the given code package.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "_Node_0",
+ "applicationId": "SimpleHttpServerApp",
+ "ServiceManifestName": "SimpleHttpServerSvcPkg",
+ "CodePackageName": "Code"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Content": "HTTP Server started listening on port 8080\r\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-2.json
new file mode 100644
index 000000000000..9f1025363561
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-2.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "description": "This example shows how to get last 10 lines of container logs for container deployed on a Service Fabric node for the given code package.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "_Node_0",
+ "applicationId": "SimpleHttpServerApp",
+ "ServiceManifestName": "SimpleHttpServerSvcPkg",
+ "CodePackageName": "Code",
+ "Tail": "10"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Content": "UTC Time Now: 04/02/2018 22:06:31\r\nUTC Time Now: 04/02/2018 22:06:32\r\nUTC Time Now: 04/02/2018 22:06:33\r\nUTC Time Now: 04/02/2018 22:06:344\r\nUTC Time Now: 04/02/2018 22:06:35\r\nUTC Time Now: 04/02/2018 22:06:36\r\nUTC Time Now: 04/02/2018 22:06:37\r\nUTC Time Now: 04/02/2018 22:06:38\r\nUTC Time Now: 04/02/2018 22:06:39\r\nUTC Time Now: 04/02/2018 22:06:40\r\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-3.json
new file mode 100644
index 000000000000..2ca6cad4f774
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetContainerLogsDeployedOnNode-3.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "description": "This example shows how to get container logs of previous dead container on a Service Fabric node for the given code package.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "_Node_0",
+ "applicationId": "SimpleHttpServerApp",
+ "ServiceManifestName": "SimpleHttpServerSvcPkg",
+ "CodePackageName": "Code",
+ "Previous": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Content": "Exception encountered: System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).\r\n\tat System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetCorrelatedEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetCorrelatedEventList.json
new file mode 100644
index 000000000000..7e271b230d90
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetCorrelatedEventList.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetCorrelatedEventList",
+ "description": "This example shows how to get all correlated events for a given eventInstanceId.",
+ "parameters": {
+ "eventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4",
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "PartitionPrimaryMoveAnalysis",
+ "WhenMoveCompleted": "2018-04-03T20:06:55.966073Z",
+ "PreviousNode": "node3(b9d52c016a15a8f57673d3b8041e2d35)",
+ "CurrentNode": "node1(cf68563e16a44f808e86197a9cf83de5)",
+ "MoveReason": "ApplicationHostDown",
+ "RelevantTraces": "",
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "EventInstanceId": "59dde2bc-a833-412e-a56d-8f6ada0c7963",
+ "TimeStamp": "2018-04-03T20:07:55.966073Z",
+ "HasCorrelatedEvents": true,
+ "Metadata": {
+ "Delay": "00:00:20",
+ "Duration": "00:01:59"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDataLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDataLossProgress-Running.json
new file mode 100644
index 000000000000..90590fff4f2f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDataLossProgress-Running.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "GetDataLossProgress",
+ "description": "This shows an example of output when a data loss operation is in a Running State. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Running"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDataLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDataLossProgress.json
new file mode 100644
index 000000000000..89d341f05c26
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDataLossProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetDataLossProgress",
+ "description": "This shows an example of possible output when GetDataLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "7216486c-1ee9-4b00-99b2-92b26fcb07f5",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "InvokeDataLossResult": {
+ "ErrorCode": 0,
+ "SelectedPartition": {
+ "ServiceName": "fabric:/myapp/myservice",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoByName-1.json
new file mode 100644
index 000000000000..8552057cbe2f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoByName-1.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "GetDeployedApplicationInfoList",
+ "description": "This example shows how to get information about an application deployed on a specified node by using an application identifier. If the application is found it's information is returned with 200 status code. An empty response with status code 204 is returned, if the specified application is not deployed on the node.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "applicationId": "samples~CalculatorApp",
+ "IncludeHealthState": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_1\\CalculatorApp_App0\\temp",
+ "HealthState": "Ok"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-1.json
new file mode 100644
index 000000000000..c19d4e2a841c
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-1.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "GetDeployedApplicationInfoList",
+ "description": "This example shows how to specify the number of applications returned by the query when getting information about applications deployed on a specific node. The number of results in a page are limited to maximum of 2 using the MaxResult parameter. Health state is not requested in this example, so the returned health state will be Unknown.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/samples/PQueueApp1",
+ "Items": [
+ {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp",
+ "HealthState": "Unknown"
+ },
+ {
+ "Id": "samples~PQueueApp1",
+ "Name": "fabric:/samples/PQueueApp1",
+ "TypeName": "PersistentQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp",
+ "HealthState": "Unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-2.json
new file mode 100644
index 000000000000..7f6320e69e6d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-2.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "GetDeployedApplicationInfoListByName",
+ "description": "This example demonstrates the paging functionality available when getting information about applications deployed on a specific node. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "ContinuationToken": "fabric:/samples/PQueueApp1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Id": "samples~VQueueApp1",
+ "Name": "fabric:/samples/VQueueApp1",
+ "TypeName": "VolatileQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp",
+ "HealthState": "Unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-3.json
new file mode 100644
index 000000000000..01cad866d3c1
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetDeployedApplicationInfoList-3.json
@@ -0,0 +1,49 @@
+{
+ "operationId": "GetDeployedApplicationInfoList",
+ "description": "This example shows how to include the health state of each deployed application when getting information about applications deployed on a specific node.",
+ "parameters": {
+ "api-version": "6.1",
+ "nodeName": "_Node_0",
+ "IncludeHealthState": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Id": "samples~CalculatorApp",
+ "Name": "fabric:/samples/CalculatorApp",
+ "TypeName": "CalculatorApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\CalculatorApp_App0\\temp",
+ "HealthState": "Ok"
+ },
+ {
+ "Id": "samples~PQueueApp1",
+ "Name": "fabric:/samples/PQueueApp1",
+ "TypeName": "PersistentQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\PersistentQueueApp_App1\\temp",
+ "HealthState": "Ok"
+ },
+ {
+ "Id": "samples~VQueueApp1",
+ "Name": "fabric:/samples/VQueueApp1",
+ "TypeName": "VolatileQueueApp",
+ "Status": "Active",
+ "WorkDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\work",
+ "LogDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\log",
+ "TempDirectory": "C:\\SfDevCluster\\Data\\_App\\_Node_0\\VolatileQueueApp_App2\\temp",
+ "HealthState": "Ok"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetFaultOperationList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetFaultOperationList.json
new file mode 100644
index 000000000000..c7194dad614a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetFaultOperationList.json
@@ -0,0 +1,51 @@
+{
+ "operationId": "GetFaultOperationList",
+ "description": "This shows an example of possible output for GetFaultOperationList",
+ "parameters": {
+ "TypeFilter": "0xFF",
+ "StateFilter": "0xFF",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000010",
+ "State": "Completed",
+ "Type": "PartitionDataLoss"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000020",
+ "State": "Completed",
+ "Type": "PartitionQuorumLoss"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000030",
+ "State": "Completed",
+ "Type": "PartitionRestart"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000500",
+ "State": "Faulted",
+ "Type": "NodeTransition"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000700",
+ "State": "Completed",
+ "Type": "NodeTransition"
+ },
+ {
+ "OperationId": "00000000-0000-0000-0000-000000000710",
+ "State": "Completed",
+ "Type": "NodeTransition"
+ },
+ {
+ "OperationId": "88ef90f9-0b94-46b0-b817-a6ea20c07f8a",
+ "State": "Completed",
+ "Type": "PartitionRestart"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetImageStoreContent.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetImageStoreContent.json
new file mode 100644
index 000000000000..7e912c407a79
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetImageStoreContent.json
@@ -0,0 +1,91 @@
+{
+ "operationId": "GetImageStoreContent",
+ "description": "This example shows how to get image store content under the given relative path.",
+ "parameters": {
+ "api-version": "6.2",
+ "contentPath": "Store\\CalcServiceApp"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "StoreFiles": [
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\ApplicationManifest.2.0.xml",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "23",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "897",
+ "ModifiedDate": "2017-09-28T17:44:22.609Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "25",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.468Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "26",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.468Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "27",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.468Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "19",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "744",
+ "ModifiedDate": "2017-09-28T17:44:22.578Z"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Manifest.2.0.xml.checksum",
+ "FileVersion": {
+ "EpochDataLossNumber": "131510254310497004",
+ "VersionNumber": "24",
+ "EpochConfigurationNumber": "25769803776"
+ },
+ "FileSize": "66",
+ "ModifiedDate": "2017-09-28T17:44:22.484Z"
+ }
+ ],
+ "StoreFolders": [
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Code.2.0",
+ "FileCount": "2"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Config.1.0",
+ "FileCount": "2"
+ },
+ {
+ "StoreRelativePath": "Store\\CalcServiceApp\\CalcService.Data.2.0",
+ "FileCount": "2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetImageStoreInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetImageStoreInfo.json
new file mode 100644
index 000000000000..e4360622b5fd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetImageStoreInfo.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetImageStoreInfo",
+ "description": "This example shows how to get ImageStore information.",
+ "parameters": {
+ "api-version": "6.5"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "DiskInfo": {
+ "Capacity": "500090007552",
+ "AvailableSpace": "228851900416"
+ },
+ "UsedByMetadata": {
+ "UsedSpace": "23093248",
+ "FileCount": 6
+ },
+ "UsedByStaging": {
+ "UsedSpace": "6291456",
+ "FileCount": 9
+ },
+ "UsedByCopy": {
+ "UsedSpace": "4194304",
+ "FileCount": 2
+ },
+ "UsedByRegister": {
+ "UsedSpace": "4194304",
+ "FileCount": 3
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeEventList.json
new file mode 100644
index 000000000000..4368ae718d58
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeEventList.json
@@ -0,0 +1,32 @@
+{
+ "operationId": "GetNodeEventList",
+ "description": "This example shows how to get all node-related events during a certain time window.",
+ "parameters": {
+ "nodeName": "node1",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "NodeOpenSucceeded",
+ "NodeInstance": 131672596159209215,
+ "NodeId": "ba001a8bb353543e646be031afb10f1e",
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "IpAddressOrFQDN": "100.78.240.56",
+ "Hostname": "RD0003FF5089AA",
+ "IsSeedNode": false,
+ "NodeVersion": "6.2:1.0",
+ "NodeName": "node1",
+ "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89",
+ "TimeStamp": "2018-04-03T20:06:55.966073Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfo-1.json
new file mode 100644
index 000000000000..24b8cfac97f7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfo-1.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "GetNodeInfo",
+ "description": "This example shows how to get information about an node using it's identifier. If the node is found, information about it is returned with 200 status code. If the node is not found, empty content is returned with 204 status code.",
+ "parameters": {
+ "api-version": "6.0",
+ "nodeName": "_Node_1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Name": "_testnode_0",
+ "IpAddressOrFQDN": "10.0.0.4",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "18688",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "Id": {
+ "Id": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "InstanceId": "131738240209152398",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:33:52.944Z",
+ "NodeDownAt": "2018-06-18T19:33:39.514Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList-1.json
new file mode 100644
index 000000000000..c494bff622c5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList-1.json
@@ -0,0 +1,72 @@
+{
+ "operationId": "GetNodeInfoList",
+ "description": "This example shows how to get information about the nodes in the cluster when the number of results returned is limited by the MaxResults parameter.",
+ "parameters": {
+ "api-version": "6.3",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "2acb9f55540659b1c95f27cc128ab326",
+ "Items": [
+ {
+ "Name": "_testnode_1",
+ "IpAddressOrFQDN": "10.0.0.5",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "102016",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "1",
+ "FaultDomain": "fd:/1",
+ "Id": {
+ "Id": "ebd986a1134b3643a8117fb41b259bf"
+ },
+ "InstanceId": "131738274982501335",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:31:39.842Z",
+ "NodeDownAt": "2018-06-18T20:31:37.374Z"
+ },
+ {
+ "Name": "_testnode_0",
+ "IpAddressOrFQDN": "10.0.0.4",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "105483",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "Id": {
+ "Id": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "InstanceId": "131738240209152398",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:33:52.944Z",
+ "NodeDownAt": "2018-06-18T19:33:39.514Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList-2.json
new file mode 100644
index 000000000000..79bbd1bf1af7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList-2.json
@@ -0,0 +1,99 @@
+{
+ "operationId": "GetNodeInfoList",
+ "description": "This example shows how to get information about nodes in the cluster which appear on a sequential page, by using the ContinuationToken parameter.",
+ "parameters": {
+ "api-version": "6.3",
+ "ContinuationToken": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "_Node_4",
+ "IpAddressOrFQDN": "10.0.0.8",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "101547",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "4",
+ "FaultDomain": "fd:/4",
+ "Id": {
+ "Id": "ba9383d728221add7fa996bf67b757fb"
+ },
+ "InstanceId": "131737415865259763",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-17T20:40:07.378Z",
+ "NodeDownAt": "2018-06-17T20:33:11.877Z"
+ },
+ {
+ "Name": "_Node_3",
+ "IpAddressOrFQDN": "10.0.0.7",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "15615",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "3",
+ "FaultDomain": "fd:/3",
+ "Id": {
+ "Id": "d6a18a0935a3e39aeae2a049eb97255d"
+ },
+ "InstanceId": "131738275300526952",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:32:18.884Z",
+ "NodeDownAt": "2018-06-18T20:31:59.128Z"
+ },
+ {
+ "Name": "_Node_2",
+ "IpAddressOrFQDN": "10.0.0.6",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "19819",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "2",
+ "FaultDomain": "fd:/2",
+ "Id": {
+ "Id": "f2af91e5e9c8254dedb75b1424a9e3fc"
+ },
+ "InstanceId": "131738233282843485",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:22:15.272Z",
+ "NodeDownAt": "2018-06-18T19:22:02.740Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList.json
new file mode 100644
index 000000000000..d38a618440a9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeInfoList.json
@@ -0,0 +1,152 @@
+{
+ "operationId": "GetNodeInfoList",
+ "description": "This example shows how to get information about all the nodes in the cluster when the information fits in a single response message without the need for paging through ContinuationToken parameter.",
+ "parameters": {
+ "api-version": "6.3"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Name": "_Node_1",
+ "IpAddressOrFQDN": "10.0.0.5",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "15275",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "1",
+ "FaultDomain": "fd:/1",
+ "Id": {
+ "Id": "ebd986a1134b3643a8117fb41b259bf"
+ },
+ "InstanceId": "131738274982501335",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:31:39.842Z",
+ "NodeDownAt": "2018-06-18T20:31:37.374Z"
+ },
+ {
+ "Name": "_Node_0",
+ "IpAddressOrFQDN": "10.0.0.4",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "18742",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "Id": {
+ "Id": "2acb9f55540659b1c95f27cc128ab326"
+ },
+ "InstanceId": "131738240209152398",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:33:52.944Z",
+ "NodeDownAt": "2018-06-18T19:33:39.514Z"
+ },
+ {
+ "Name": "_Node_4",
+ "IpAddressOrFQDN": "10.0.0.8",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "101168",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "4",
+ "FaultDomain": "fd:/4",
+ "Id": {
+ "Id": "ba9383d728221add7fa996bf67b757fb"
+ },
+ "InstanceId": "131737415865259763",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-17T20:40:07.378Z",
+ "NodeDownAt": "2018-06-17T20:33:11.877Z"
+ },
+ {
+ "Name": "_Node_3",
+ "IpAddressOrFQDN": "10.0.0.7",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "15236",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "3",
+ "FaultDomain": "fd:/3",
+ "Id": {
+ "Id": "d6a18a0935a3e39aeae2a049eb97255d"
+ },
+ "InstanceId": "131738275300526952",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T20:32:18.884Z",
+ "NodeDownAt": "2018-06-18T20:31:59.128Z"
+ },
+ {
+ "Name": "_Node_2",
+ "IpAddressOrFQDN": "10.0.0.6",
+ "Type": "testnode",
+ "CodeVersion": "6.3.139.9494",
+ "ConfigVersion": "5",
+ "NodeStatus": "Up",
+ "NodeUpTimeInSeconds": "19440",
+ "HealthState": "Ok",
+ "IsSeedNode": true,
+ "UpgradeDomain": "2",
+ "FaultDomain": "fd:/2",
+ "Id": {
+ "Id": "f2af91e5e9c8254dedb75b1424a9e3fc"
+ },
+ "InstanceId": "131738233282843485",
+ "NodeDeactivationInfo": {
+ "NodeDeactivationIntent": "Invalid",
+ "NodeDeactivationStatus": "None",
+ "NodeDeactivationTask": [],
+ "PendingSafetyChecks": []
+ },
+ "IsStopped": false,
+ "NodeDownTimeInSeconds": "0",
+ "NodeUpAt": "2018-06-18T19:22:15.272Z",
+ "NodeDownAt": "2018-06-18T19:22:02.740Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeTransitionProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeTransitionProgress-Running.json
new file mode 100644
index 000000000000..62ad5c37ec58
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeTransitionProgress-Running.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "GetNodeTransitionProgress",
+ "description": "This shows an example of output when GetTransitionProgress has a State of Running.",
+ "parameters": {
+ "nodeName": "N0060",
+ "OperationId": "ed903556-acf1-489c-9f33-b484c31f9087",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Running"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeTransitionProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeTransitionProgress.json
new file mode 100644
index 000000000000..474ab826b8df
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodeTransitionProgress.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetNodeTransitionProgress",
+ "description": "This shows an example of possible output when GetTransitionProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "nodeName": "N0060",
+ "OperationId": "a9c24269-88e9-4812-b4ad-a0bf2b724ad4",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "NodeTransitionResult": {
+ "ErrorCode": 0,
+ "NodeResult": {
+ "NodeName": "N0060",
+ "NodeInstanceId": "131366982707950527"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodesEventList.json
new file mode 100644
index 000000000000..7aed70b97f31
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetNodesEventList.json
@@ -0,0 +1,46 @@
+{
+ "operationId": "GetNodesEventList",
+ "description": "This example shows how to get all nodes-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "NodeOpenSucceeded",
+ "NodeInstance": 131672596159209215,
+ "NodeId": "ba001a8bb353543e646be031afb10f1e",
+ "UpgradeDomain": "0",
+ "FaultDomain": "fd:/0",
+ "IpAddressOrFQDN": "100.78.240.56",
+ "Hostname": "RD0003FF5089AA",
+ "IsSeedNode": false,
+ "NodeVersion": "6.2:1.0",
+ "NodeName": "node1",
+ "EventInstanceId": "ecbce04a-a42b-4b70-a800-dfc6bc4f9b89",
+ "TimeStamp": "2018-04-03T20:06:55.966073Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "NodeOpenSucceeded",
+ "NodeInstance": 131672596186027906,
+ "NodeId": "ba03ef91259835c54d674889849a7cee",
+ "UpgradeDomain": "3",
+ "FaultDomain": "fd:/3",
+ "IpAddressOrFQDN": "100.72.76.122",
+ "Hostname": "RD0003FF6047A8",
+ "IsSeedNode": false,
+ "NodeVersion": "6.2:1.0",
+ "NodeName": "node2",
+ "EventInstanceId": "67730c48-752c-4209-bf28-3c121555a4c0",
+ "TimeStamp": "2018-04-03T20:06:58.6357365Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupConfigurationInfo.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupConfigurationInfo.json
new file mode 100644
index 000000000000..dd97740de85f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupConfigurationInfo.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "GetPartitionBackupConfigurationInfo",
+ "description": "This example shows how to get backup configuration for a partition.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Service",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "SuspensionInfo": {
+ "IsSuspended": true,
+ "SuspensionInheritedFrom": "Partition"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-1.json
new file mode 100644
index 000000000000..2c5fb63a2bc3
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-1.json
@@ -0,0 +1,64 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get list of partition backups within a time range.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "StartDateTimeFilter": "2018-01-01T00:00:00Z",
+ "EndDateTimeFilter": "2018-01-01T23:59:59Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-2.json
new file mode 100644
index 000000000000..cc627b382457
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-2.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get the latest backup for the specified partition.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "Latest": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "639",
+ "CreationTimeUtc": "2018-01-02T08:59:53Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-3.json
new file mode 100644
index 000000000000..2cddad80321f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-3.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-4.json
new file mode 100644
index 000000000000..c73aaece09c8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupList-4.json
@@ -0,0 +1,42 @@
+{
+ "operationId": "GetPartitionBackupList",
+ "description": "This example shows how to get list of partition backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "BackupChainId": "be06a49c-be67-4eb1-a602-b983605be862",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-02 08.59.53.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "639",
+ "CreationTimeUtc": "2018-01-02T08:59:53Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupProgress.json
new file mode 100644
index 000000000000..9d0df23312a6
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionBackupProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetPartitionBackupProgress",
+ "description": "This shows an example of possible output when GetPartitionBackupProgress has reached a BackupState of Success. If the BackupState has a value of BackupInProgress, only the BackupState field will have a value.",
+ "parameters": {
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "BackupState": "Success",
+ "TimeStampUtc": "2018-01-01T09:00:55Z",
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "FailureError": null
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionEventList.json
new file mode 100644
index 000000000000..bbfca06712e9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionEventList.json
@@ -0,0 +1,37 @@
+{
+ "operationId": "GetPartitionEventList",
+ "description": "This example shows how to get all partition-related events during a certain time window.",
+ "parameters": {
+ "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "PartitionReconfigured",
+ "NodeName": "node1",
+ "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e",
+ "ServiceType": "Svc1Type",
+ "CcEpochDataLossVersion": 131672604833413107,
+ "CcEpochConfigVersion": 8589934595,
+ "ReconfigType": "Other",
+ "Result": "Completed",
+ "Phase0DurationMs": 0.0,
+ "Phase1DurationMs": 0.0,
+ "Phase2DurationMs": 203.1935,
+ "Phase3DurationMs": 0.0262,
+ "Phase4DurationMs": 628.8527,
+ "TotalDurationMs": 832.0724,
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4",
+ "TimeStamp": "2018-04-03T20:21:47.3778996Z",
+ "HasCorrelatedEvents": true
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionRestartProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionRestartProgress.json
new file mode 100644
index 000000000000..074289b470a2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionRestartProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetPartitionRestartProgress",
+ "description": "This shows an example of possible output when GetPartitionRestartProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "6eb7f0d3-49ca-4cb1-81b7-ac2d56b5c5d1",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "RestartPartitionResult": {
+ "ErrorCode": 0,
+ "SelectedPartition": {
+ "ServiceName": "fabric:/myapp/myservice",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionRestoreProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionRestoreProgress.json
new file mode 100644
index 000000000000..da52d1a100b9
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionRestoreProgress.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "GetPartitionRestoreProgress",
+ "description": "This shows an example of possible output when GetPartitionRestoreProgress has reached a RestoreState of Success. If the RestoreState has a value of RestoreInProgress, only the RestoreState field will have a value.",
+ "parameters": {
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "api-version": "6.4"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "RestoreState": "Success",
+ "TimeStampUtc": "2018-01-01T09:00:55Z",
+ "RestoredEpoch": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "RestoredLsn": "261",
+ "FailureError": null
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionsEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionsEventList.json
new file mode 100644
index 000000000000..e49c5e402b00
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPartitionsEventList.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "GetPartitionsEventList",
+ "description": "This example shows how to get all partitions-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "PartitionReconfigured",
+ "NodeName": "node1",
+ "NodeInstanceId": "ba001a8bb353543e646be031afb10f1e",
+ "ServiceType": "Svc1Type",
+ "CcEpochDataLossVersion": 131672604833413107,
+ "CcEpochConfigVersion": 8589934595,
+ "ReconfigType": "Other",
+ "Result": "Completed",
+ "Phase0DurationMs": 0.0,
+ "Phase1DurationMs": 0.0,
+ "Phase2DurationMs": 203.1935,
+ "Phase3DurationMs": 0.0262,
+ "Phase4DurationMs": 628.8527,
+ "TotalDurationMs": 832.0724,
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "EventInstanceId": "e00fa5b7-f747-40dd-9e09-f5a031e96de4",
+ "TimeStamp": "2018-04-03T20:21:47.3778996Z",
+ "HasCorrelatedEvents": true
+ },
+ {
+ "Kind": "PartitionReconfigured",
+ "NodeName": "node2",
+ "NodeInstanceId": "ba0459d257b028296deba8bd5add33cb",
+ "ServiceType": "Svc1Type",
+ "CcEpochDataLossVersion": 131672604833413107,
+ "CcEpochConfigVersion": 8589934596,
+ "ReconfigType": "Other",
+ "Result": "Completed",
+ "Phase0DurationMs": 0.0,
+ "Phase1DurationMs": 0.0,
+ "Phase2DurationMs": 205.667,
+ "Phase3DurationMs": 407.7781,
+ "Phase4DurationMs": 630.0935,
+ "TotalDurationMs": 1243.5386,
+ "PartitionId": "e12acfb3-2a43-4a1a-a252-aa5388ef1aec",
+ "EventInstanceId": "9aeb234a-16ef-4e8a-974e-26c60d6f2b86",
+ "TimeStamp": "2018-04-03T20:21:49.5155104Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfo-1.json
new file mode 100644
index 000000000000..ca5def4be2fb
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfo-1.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "GetPropertyInfo",
+ "description": "This example shows how to get a Service Fabric property under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "PropertyName": "AppData"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Name": "CalculatorAppData",
+ "Value": {
+ "Kind": "String",
+ "Data": "1+2=3"
+ },
+ "Metadata": {
+ "TypeId": "String",
+ "CustomTypeId": "EquationType",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 12,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z",
+ "SequenceNumber": "12"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-1.json
new file mode 100644
index 000000000000..5729c6a4e4a2
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-1.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "GetPropertyInfoList",
+ "description": "This example shows how to get all Service Fabric properties under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "PersistentQueueAppData$131439231986491349",
+ "IsConsistent": true,
+ "Properties": [
+ {
+ "Name": "CalculatorAppData",
+ "Metadata": {
+ "TypeId": "Int64",
+ "CustomTypeId": "",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z",
+ "SequenceNumber": "10"
+ }
+ },
+ {
+ "Name": "PersistentQueueAppData",
+ "Metadata": {
+ "TypeId": "Binary",
+ "CustomTypeId": "InitializationDataType",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z",
+ "SequenceNumber": "12"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-2.json
new file mode 100644
index 000000000000..6a172f23f09a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-2.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "GetPropertyInfoList",
+ "description": "This example shows how to get all Service Fabric properties and their values under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "IncludeValues": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "PersistentQueueAppData$131439231986491349",
+ "IsConsistent": true,
+ "Properties": [
+ {
+ "Name": "CalculatorAppData",
+ "Value": {
+ "Kind": "Int64",
+ "Data": "4534"
+ },
+ "Metadata": {
+ "TypeId": "Int64",
+ "CustomTypeId": "",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 8,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:27:19.049Z",
+ "SequenceNumber": "10"
+ }
+ },
+ {
+ "Name": "PersistentQueueAppData",
+ "Value": {
+ "Kind": "Binary",
+ "Data": [
+ 6,
+ 7,
+ 8,
+ 9,
+ 10
+ ]
+ },
+ "Metadata": {
+ "TypeId": "Binary",
+ "CustomTypeId": "InitializationDataType",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:36:19.049Z",
+ "SequenceNumber": "12"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-3.json
new file mode 100644
index 000000000000..ce12465b6ce6
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetPropertyInfoList-3.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetPropertyInfoList",
+ "description": "This example shows how to page through the information about properties under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "IncludeValues": true,
+ "ContinuationToken": "PersistentQueueAppData$131439231986491349"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "Properties": [
+ {
+ "Name": "VolatileQueueAppData",
+ "Value": {
+ "Kind": "Double",
+ "Data": 67.89
+ },
+ "Metadata": {
+ "TypeId": "Double",
+ "CustomTypeId": "",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 8,
+ "LastModifiedUtcTimestamp": "2017-07-17T04:01:19.049Z",
+ "SequenceNumber": "8"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetQuorumLossProgress-Running.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetQuorumLossProgress-Running.json
new file mode 100644
index 000000000000..203fb157db03
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetQuorumLossProgress-Running.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "GetQuorumLossProgress",
+ "description": "This shows an example of possible output when GetQuorumLossProgress has a State of Running. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Running"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetQuorumLossProgress.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetQuorumLossProgress.json
new file mode 100644
index 000000000000..c86fd0d2b31d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetQuorumLossProgress.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GetQuorumLossProgress",
+ "description": "This shows an example of possible output when GetQuorumLossProgress has reached a State of Completed. If the State has a value of Running, only the State field will have a value.",
+ "parameters": {
+ "serviceId": "fabric:/myapp/myservice",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "OperationId": "81fbaee7-4f49-44bb-a350-4cb2b51dbf26",
+ "api-version": "6.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "State": "Completed",
+ "InvokeQuorumLossResult": {
+ "ErrorCode": 0,
+ "SelectedPartition": {
+ "ServiceName": "fabric:/myapp/myservice",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetReplicaEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetReplicaEventList.json
new file mode 100644
index 000000000000..a3b517117bac
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetReplicaEventList.json
@@ -0,0 +1,35 @@
+{
+ "operationId": "GetPartitionReplicaEventList",
+ "description": "This example shows how to get all replica-related events during a certain time window.",
+ "parameters": {
+ "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "replicaId": 131672608994209130,
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "StatefulReplicaNewHealthReport",
+ "ReplicaInstanceId": 131672608994209130,
+ "SourceId": "TestSource",
+ "Property": "",
+ "HealthState": "Error",
+ "TimeToLiveMs": 922337203685477,
+ "SequenceNumber": 131672654189677787,
+ "Description": "",
+ "RemoveWhenExpired": false,
+ "SourceUtcTimestamp": "2018-04-03T21:43:38Z",
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "ReplicaId": 131672608994209130,
+ "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d",
+ "TimeStamp": "2018-04-03T21:43:38.8904013Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetReplicasEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetReplicasEventList.json
new file mode 100644
index 000000000000..1d2e9212dfcc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetReplicasEventList.json
@@ -0,0 +1,51 @@
+{
+ "operationId": "GetPartitionReplicasEventList",
+ "description": "This example shows how to get all replicas-related events during a certain time window.",
+ "parameters": {
+ "partitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "StatefulReplicaNewHealthReport",
+ "ReplicaInstanceId": 131672608994209130,
+ "SourceId": "TestSource",
+ "Property": "",
+ "HealthState": "Error",
+ "TimeToLiveMs": 922337203685477,
+ "SequenceNumber": 131672654189677787,
+ "Description": "",
+ "RemoveWhenExpired": false,
+ "SourceUtcTimestamp": "2018-04-03T21:43:38Z",
+ "PartitionId": "f2a6a893-39be-4c7d-b07f-72bc2d36de89",
+ "ReplicaId": 131672608994209130,
+ "EventInstanceId": "b2684da3-df81-4add-8baa-201f73e9195d",
+ "TimeStamp": "2018-04-03T21:43:38.8904013Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "StatefulReplicaNewHealthReport",
+ "ReplicaInstanceId": 177872608994339550,
+ "SourceId": "TestSource",
+ "Property": "",
+ "HealthState": "Error",
+ "TimeToLiveMs": 922337203685477,
+ "SequenceNumber": 131672654189677788,
+ "Description": "",
+ "RemoveWhenExpired": false,
+ "SourceUtcTimestamp": "2018-04-03T21:44:38Z",
+ "PartitionId": "f549f3b3-08c2-4ec4-adb4-415e024cb0ef",
+ "ReplicaId": 177872608994339550,
+ "EventInstanceId": "4a8851d8-35a3-4618-b4ac-03ffa191c350",
+ "TimeStamp": "2018-04-03T21:44:38.8904013Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupConfigurationInfo-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupConfigurationInfo-1.json
new file mode 100644
index 000000000000..ab37c65b803f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupConfigurationInfo-1.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "GetServiceBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "Items": [
+ {
+ "Kind": "Service",
+ "PolicyName": "BackupPolicy1",
+ "PolicyInheritedFrom": "Application",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ },
+ {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy2",
+ "PolicyInheritedFrom": "Partition",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "SuspensionInfo": {
+ "IsSuspended": false,
+ "SuspensionInheritedFrom": "Invalid"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupConfigurationInfo-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupConfigurationInfo-2.json
new file mode 100644
index 000000000000..76e7e948550d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupConfigurationInfo-2.json
@@ -0,0 +1,31 @@
+{
+ "operationId": "GetServiceBackupConfigurationInfo",
+ "description": "This example shows how to get list of backup configuration for this service and partitions under this service. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "Kind": "Partition",
+ "PolicyName": "BackupPolicy1",
+ "PolicyInheritedFrom": "Application",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionId": "7216486c-1ee9-4b00-99b2-92b26fcb07f6",
+ "SuspensionInfo": {
+ "IsSuspended": true,
+ "SuspensionInheritedFrom": "Partition"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-1.json
new file mode 100644
index 000000000000..b561b1b20f84
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-1.json
@@ -0,0 +1,108 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get list of service backups within a time range.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "StartDateTimeFilter": "2018-01-01T00:00:00Z",
+ "EndDateTimeFilter": "2018-01-01T23:59:59Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-2.json
new file mode 100644
index 000000000000..df570db76649
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-2.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get the latest backup for each partition within a service.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "Latest": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-3.json
new file mode 100644
index 000000000000..5b162231a889
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-3.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "Items": [
+ {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "261",
+ "CreationTimeUtc": "2018-01-01T09:00:55Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "7903dc2a-228d-44b0-b7c8-a13a6c9b46bd",
+ "BackupChainId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 17.01.02.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "446",
+ "CreationTimeUtc": "2018-01-01T17:01:02Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-4.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-4.json
new file mode 100644
index 000000000000..7420d61aca49
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceBackupList-4.json
@@ -0,0 +1,64 @@
+{
+ "operationId": "GetServiceBackupList",
+ "description": "This example shows how to get list of service backups. The number of results in a page are limited to maximum of two using the MaxResult parameter. This example uses the ContinuationToken parameter. The value of this parameter is provided from the previous query; in this case the example shown above. The response contains the remaining results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService",
+ "MaxResults": 2,
+ "ContinuationToken": "fabric:/CalcApp/CalcService#1daae3f5-7fd6-42e9-b1ba-8c05f873994d#7903dc2a-228d-44b0-b7c8-a13a6c9b46bd"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "BackupId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 09.01.02.zip",
+ "BackupType": "Full",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "161",
+ "CreationTimeUtc": "2018-01-01T09:01:02Z",
+ "FailureError": null
+ },
+ {
+ "BackupId": "d55a2d98-258b-4a34-8fe5-2063e81af9dc",
+ "BackupChainId": "0ff4fdbe-131c-4dfb-8249-7b4029ddc014",
+ "ApplicationName": "fabric:/CalcApp",
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceName": "fabric:/CalcApp/CalcService",
+ "PartitionInformation": {
+ "LowKey": "-9223372036854775808",
+ "HighKey": "9223372036854775807",
+ "ServicePartitionKind": "Int64Range",
+ "Id": "81645ec7-d260-4c59-9533-8f129bde8e83"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\81645ec7-d260-4c59-9533-8f129bde8e83\\2018-01-01 17.00.34.zip",
+ "BackupType": "Incremental",
+ "EpochOfLastBackupRecord": {
+ "DataLossVersion": "131462452931584510",
+ "ConfigurationVersion": "8589934592"
+ },
+ "LsnOfLastBackupRecord": "246",
+ "CreationTimeUtc": "2018-01-01T17:00:34Z",
+ "FailureError": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceEventList.json
new file mode 100644
index 000000000000..fdaa115873cd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceEventList.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "GetServiceEventList",
+ "description": "This example shows how to get all service-related events during a certain time window.",
+ "parameters": {
+ "serviceId": "app1~svc1",
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ServiceCreated",
+ "ServiceTypeName": "Svc1Type",
+ "ApplicationName": "fabric:/app1",
+ "ApplicationTypeName": "App1Type",
+ "ServiceInstance": 131672605579916062,
+ "IsStateful": true,
+ "PartitionCount": 2,
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "ServicePackageVersion": "1.0:1.0",
+ "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87",
+ "ServiceId": "app1/svc1",
+ "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003",
+ "TimeStamp": "2018-04-03T20:22:38.0560496Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceTypeInfoByName-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceTypeInfoByName-1.json
new file mode 100644
index 000000000000..4340954856fe
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceTypeInfoByName-1.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetServiceTypeInfoByName",
+ "description": "This example shows how to get information about a specific service type. A 204 response is returned if the specified service type is not found in the cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "applicationTypeName": "Application2Type",
+ "ApplicationTypeVersion": "1.0.0",
+ "serviceTypeName": "Actor1ActorServiceType"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ServiceTypeDescription": {
+ "IsStateful": true,
+ "ServiceTypeName": "Actor1ActorServiceType",
+ "PlacementConstraints": "",
+ "HasPersistedState": true,
+ "Kind": "Stateful",
+ "Extensions": [
+ {
+ "Key": "__GeneratedServiceType__",
+ "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ ],
+ "LoadMetrics": [],
+ "ServicePlacementPolicies": []
+ },
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceManifestName": "Actor1Pkg",
+ "IsServiceGroup": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceTypeInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceTypeInfoList-1.json
new file mode 100644
index 000000000000..a4481bfa08c0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServiceTypeInfoList-1.json
@@ -0,0 +1,36 @@
+{
+ "operationId": "GetServiceTypeInfoList",
+ "description": "This example shows how to get information about service types that are supported by a provisioned application type in a Service Fabric cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "applicationTypeName": "Application2Type",
+ "ApplicationTypeVersion": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "ServiceTypeDescription": {
+ "IsStateful": true,
+ "ServiceTypeName": "Actor1ActorServiceType",
+ "PlacementConstraints": "",
+ "HasPersistedState": true,
+ "Kind": "Stateful",
+ "Extensions": [
+ {
+ "Key": "__GeneratedServiceType__",
+ "Value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n "
+ }
+ ],
+ "LoadMetrics": [],
+ "ServicePlacementPolicies": []
+ },
+ "ServiceManifestVersion": "1.0.0",
+ "ServiceManifestName": "Actor1Pkg",
+ "IsServiceGroup": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServicesEventList.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServicesEventList.json
new file mode 100644
index 000000000000..2d5863180a5a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetServicesEventList.json
@@ -0,0 +1,50 @@
+{
+ "operationId": "GetServicesEventList",
+ "description": "This example shows how to get all services-related events during a certain time window.",
+ "parameters": {
+ "api-version": "6.4",
+ "StartTimeUtc": "2018-04-03T18:00:00Z",
+ "EndTimeUtc": "2018-04-04T18:00:00Z"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "Kind": "ServiceCreated",
+ "ServiceTypeName": "Svc1Type",
+ "ApplicationName": "fabric:/app1",
+ "ApplicationTypeName": "App1Type",
+ "ServiceInstance": 131672605579916062,
+ "IsStateful": true,
+ "PartitionCount": 2,
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "ServicePackageVersion": "1.0:1.0",
+ "PartitionId": "bd936249-183d-4e29-94ab-2e198e4e2e87",
+ "ServiceId": "app1/svc1",
+ "EventInstanceId": "8ba26506-4a93-4b8c-ae14-29a2841b3003",
+ "TimeStamp": "2018-04-03T20:22:38.0560496Z",
+ "HasCorrelatedEvents": false
+ },
+ {
+ "Kind": "ServiceCreated",
+ "ServiceTypeName": "Svc2Type",
+ "ApplicationName": "fabric:/app1",
+ "ApplicationTypeName": "App1Type",
+ "ServiceInstance": 131672605579916062,
+ "IsStateful": true,
+ "PartitionCount": 2,
+ "TargetReplicaSetSize": 3,
+ "MinReplicaSetSize": 2,
+ "ServicePackageVersion": "1.0:1.0",
+ "PartitionId": "87413d64-0134-4b23-a439-c2692c4e3ec3",
+ "ServiceId": "app1/svc2",
+ "EventInstanceId": "03246d3b-77f5-4ca2-b065-7b8671711318",
+ "TimeStamp": "2018-04-03T20:22:38.056197Z",
+ "HasCorrelatedEvents": false
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-1.json
new file mode 100644
index 000000000000..282319140d86
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-1.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "GetSubNameInfoList",
+ "description": "This example shows how to get information about all sub names of a given Service Fabric name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "SubNames": [
+ "fabric:/samples/CalculatorApp",
+ "fabric:/samples/mynames"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-2.json
new file mode 100644
index 000000000000..15391854f370
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-2.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "GetSubNameInfoList",
+ "description": "This example shows how to recursively get information about all child sub names of a given Service Fabric name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples",
+ "Recursive": true
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "SubNames": [
+ "fabric:/samples/apps",
+ "fabric:/samples/data",
+ "fabric:/samples/CalculatorApp",
+ "fabric:/samples/CalculatorApp/CalculatorService",
+ "fabric:/samples/CalculatorApp/CalculatorService/Name-1",
+ "fabric:/samples/CalculatorApp/CalculatorService/Name-2",
+ "fabric:/samples/mynames/name-1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-3.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-3.json
new file mode 100644
index 000000000000..bf07c9c58bc4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetSubNameInfoList-3.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "GetSubNameInfoList",
+ "description": "This example shows how to page through the information about sub names under a given Service Fabric name using ContinuationToken parameter. The value of this parameter is provided from the previous query, in this case the example shown above. The response contains the remaining two results and an empty ContinuationToken. The empty ContinuationToken indicates that additional results are not available.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples",
+ "Recursive": true,
+ "ContinuationToken": "fabric:/samples/apps/PersistentQueueApp$131439231986491349"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "IsConsistent": true,
+ "SubNames": [
+ "fabric:/samples/apps/VolatileQueueApp",
+ "fabric:/samples/apps/NotepadApp"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetUploadSessionById.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetUploadSessionById.json
new file mode 100644
index 000000000000..c565a13cfcbc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetUploadSessionById.json
@@ -0,0 +1,33 @@
+{
+ "operationId": "GetImageStoreUploadSessionById",
+ "description": "This example shows how to get image store upload session by a given ID.",
+ "parameters": {
+ "api-version": "6.0",
+ "session-id": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "UploadSessions": [
+ {
+ "StoreRelativePath": "SwaggerTest\\Common.dll",
+ "SessionId": "4a2340e8-d8d8-497c-95fe-cdaa1052f33b",
+ "FileSize": "2097152",
+ "ModifiedDate": "2017-09-28T17:06:37.260Z",
+ "ExpectedRanges": [
+ {
+ "StartPosition": "0",
+ "EndPosition": "402128"
+ },
+ {
+ "StartPosition": "730105",
+ "EndPosition": "2097151"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetUploadSessionByPath.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetUploadSessionByPath.json
new file mode 100644
index 000000000000..8dc66b6d107d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/GetUploadSessionByPath.json
@@ -0,0 +1,49 @@
+{
+ "operationId": "GetImageStoreUploadSessionByPath",
+ "description": "This example shows how to get image store upload session by a given relative path.",
+ "parameters": {
+ "api-version": "6.0",
+ "contentPath": "SwaggerTest\\Common.dll"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "UploadSessions": [
+ {
+ "StoreRelativePath": "SwaggerTest\\Common.dll",
+ "SessionId": "2032ac6c-a348-4594-86da-dab0f2bb1ae1",
+ "FileSize": "2097152",
+ "ModifiedDate": "2017-09-28T17:28:11.627Z",
+ "ExpectedRanges": [
+ {
+ "StartPosition": "0",
+ "EndPosition": "207615"
+ },
+ {
+ "StartPosition": "626977",
+ "EndPosition": "2097151"
+ }
+ ]
+ },
+ {
+ "StoreRelativePath": "SwaggerTest\\Common.dll",
+ "SessionId": "fb2da2b2-7cb4-45d2-a2e6-c4888d205bc5",
+ "FileSize": "2097152",
+ "ModifiedDate": "2017-09-28T17:28:11.643Z",
+ "ExpectedRanges": [
+ {
+ "StartPosition": "0",
+ "EndPosition": "616947"
+ },
+ {
+ "StartPosition": "1087529",
+ "EndPosition": "2097151"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/InvokeContainerApi.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/InvokeContainerApi.json
new file mode 100644
index 000000000000..bfe285758eec
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/InvokeContainerApi.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "InvokeContainerApi",
+ "description": "This example shows how to call container API with HTTP GET for a code package deployed on a node.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "Node01",
+ "applicationId": "samples/winnodejs",
+ "ServiceManifestName": "NodeServicePackage",
+ "CodePackageName": "NodeService.Code",
+ "CodePackageInstanceId": "131668159770315380",
+ "ContainerApiRequestBody": {
+ "UriPath": "/containers/{id}/logs?stdout=true&stderr=true"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContainerApiResult": {
+ "Status": 200,
+ "Content-Type": "text/plain; charset=utf-8",
+ "Body": "vEthernet (Container NIC ec5c19b2) 172.17.201.44\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/InvokeContainerApi_Post.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/InvokeContainerApi_Post.json
new file mode 100644
index 000000000000..0042fd341de0
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/InvokeContainerApi_Post.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "InvokeContainerApi",
+ "description": "This example shows how to call container API with HTTP POST for a code package deployed on a node.",
+ "parameters": {
+ "api-version": "6.2",
+ "nodeName": "N0020",
+ "applicationId": "samples/nodejs1",
+ "ServiceManifestName": "NodeOnSF",
+ "CodePackageName": "Code",
+ "CodePackageInstanceId": "131673596679688285",
+ "ContainerApiRequestBody": {
+ "HttpVerb": "POST",
+ "UriPath": "/containers/{id}/update",
+ "Body": "{ \"CpuShares\": 512}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContainerApiResult": {
+ "Status": 200,
+ "Content-Type": "application/json",
+ "Body": "{\"Warnings\":null}\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/PutProperty-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/PutProperty-1.json
new file mode 100644
index 000000000000..8eee209e7c7b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/PutProperty-1.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "PutProperty",
+ "description": "This example shows how to create or update a Service Fabric property under a given name.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps/CalculatorApp",
+ "PropertyDescription": {
+ "PropertyName": "AppData",
+ "Value": {
+ "Kind": "Binary",
+ "Data": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/PutProperty-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/PutProperty-2.json
new file mode 100644
index 000000000000..5db6a9ad77f7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/PutProperty-2.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "PutProperty",
+ "description": "This example shows how to create or update a Service Fabric property under a given name with a custom type.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps/CalculatorApp",
+ "PropertyDescription": {
+ "PropertyName": "AppData",
+ "Value": {
+ "Kind": "String",
+ "Data": "1+2=3"
+ },
+ "CustomTypeId": "EquationType"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json
new file mode 100644
index 000000000000..5f17ef376d9d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json
@@ -0,0 +1,18 @@
+{
+ "operationId": "MeshCodePackage_GetContainerLogs",
+ "description": "This example shows how to get logs from the container of service replica. If the container exists, the logs are returned with an OK (200) status code, otherwise an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sbzDocApp",
+ "serviceResourceName": "sbzDocService",
+ "replicaName": "0",
+ "codePackageName": "sbzDocCode"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "Content": " * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)\n * Downloading style https://assets-cdn.github.com/assets/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css\n * Downloading style https://assets-cdn.github.com/assets/github-a698da0d53574b056d3c79ac732d4a70.css\n * Downloading style https://assets-cdn.github.com/assets/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css\n * Cached all downloads in /root/.grip/cache-4.5.2\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET / HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/frameworks-8f281eb0a8d2308ceb36e714ba3c3aec.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/site-83dc1f7ebc9c7461fe1eab799b56c4c4.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/asset/github-a698da0d53574b056d3c79ac732d4a70.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:02] \"GET /__/grip/static/octicons/octicons.css HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6 HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:03] \"GET /__/grip/static/favicon.ico HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:05] \"GET /seabreeze-index.md HTTP/1.1\" 200 -\n167.220.0.83 - - [06/Apr/2018 07:16:09] \"GET /seabreeze-api-application_get.md HTTP/1.1\" 200 -\n"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/get.json
new file mode 100644
index 000000000000..bb373e90c328
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/get.json
@@ -0,0 +1,57 @@
+{
+ "operationId": "MeshServiceReplica_Get",
+ "description": "This example shows how to get information about given replica of a service. If the replica exists, its description is returned along with an OK (200) status code. If the replica does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "serviceResourceName": "helloWorldService",
+ "replicaName": "0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ },
+ "instanceView": {
+ "restartCount": 1,
+ "currentState": {
+ "state": "Running",
+ "exitCode": "0"
+ },
+ "previousState": {
+ "state": "NotSpecified",
+ "exitCode": "0"
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "replicaName": "0"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/list.json
new file mode 100644
index 000000000000..1fe9b30fb836
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/Replicas/list.json
@@ -0,0 +1,105 @@
+{
+ "operationId": "MeshServiceReplica_List",
+ "description": "This example shows how to list replicas of a service resources for a given application.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "serviceResourceName": "helloWorldService"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ },
+ "instanceView": {
+ "restartCount": 1,
+ "currentState": {
+ "state": "Running",
+ "exitCode": "0"
+ },
+ "previousState": {
+ "state": "NotSpecified",
+ "exitCode": "0"
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "replicaName": "0"
+ },
+ {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ },
+ "instanceView": {
+ "restartCount": 1,
+ "currentState": {
+ "state": "Running",
+ "exitCode": "0"
+ },
+ "previousState": {
+ "state": "NotSpecified",
+ "exitCode": "0"
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "replicaName": "1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/get.json
new file mode 100644
index 000000000000..45224d3a66f8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/get.json
@@ -0,0 +1,51 @@
+{
+ "operationId": "MeshService_Get",
+ "description": "This example shows how to get a service resource for a given application. If the service resource exists, its description is returned along with an OK (200) status code. If the service resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "serviceResourceName": "helloWorldService"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "helloWorldService",
+ "properties": {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "description": "SeaBreeze Hello World Service.",
+ "replicaCount": 1,
+ "healthState": "Ok",
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/list.json
new file mode 100644
index 000000000000..3df5e396c764
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/Services/list.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "MeshService_List",
+ "description": "This example shows how to list all service resources for a given application.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "helloWorldService",
+ "properties": {
+ "osType": "Linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ],
+ "description": "SeaBreeze Hello World Service.",
+ "replicaCount": 1,
+ "healthState": "Ok",
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/create_update.autoscale.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/create_update.autoscale.json
new file mode 100644
index 000000000000..0724c6866414
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/create_update.autoscale.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "MeshApplication_CreateOrUpdate",
+ "description": "This example shows how to create or update a application resource with services that autoscale based on the policies.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "applicationResourceDescription": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "services": [
+ {
+ "name": "helloWorldService",
+ "properties": {
+ "description": "SeaBreeze Hello World Service.",
+ "osType": "linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "autoScalingPolicies": [
+ {
+ "name": "MyAutoScaleRule",
+ "trigger": {
+ "kind": "AverageLoad",
+ "metric": {
+ "kind": "Resource",
+ "name": "cpu"
+ },
+ "lowerLoadThreshold": 0.3,
+ "upperLoadThreshold": 0.8,
+ "scaleIntervalInSeconds": 3600
+ },
+ "mechanism": {
+ "kind": "AddRemoveReplica",
+ "minCount": 1,
+ "maxCount": 4,
+ "scaleIncrement": 1
+ }
+ }
+ ],
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Unknown",
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/create_update.json
new file mode 100644
index 000000000000..0314b476a55a
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/create_update.json
@@ -0,0 +1,139 @@
+{
+ "operationId": "MeshApplication_CreateOrUpdate",
+ "description": "This example shows how to create or update a application resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication",
+ "applicationResourceDescription": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "services": [
+ {
+ "name": "helloWorldService",
+ "identityRefs": [
+ {
+ "name": "ServiceIdentity1",
+ "identityRef": "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1"
+ },
+ {
+ "name": "ServiceIdentity2",
+ "identityRef": "SystemAssigned"
+ }
+ ],
+ "properties": {
+ "description": "SeaBreeze Hello World Service.",
+ "osType": "linux",
+ "codePackages": [
+ {
+ "name": "helloWorldCode",
+ "image": "seabreeze/sbz-helloworld:1.0-alpine",
+ "endpoints": [
+ {
+ "name": "helloWorldListener",
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "memoryInGB": 1,
+ "cpu": 1
+ }
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "networkRefs": [
+ {
+ "name": "sampleNetwork",
+ "endpointRefs": [
+ {
+ "name": "helloWorldListener"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Unknown",
+ "status": "Creating"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/delete.json
new file mode 100644
index 000000000000..b51511b0865d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshApplication_Delete",
+ "description": "This example shows how to delete an existing application resource. If the application resource exists and is deleted successfully, an empty response with 200 status code is returned. If the application resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/get.json
new file mode 100644
index 000000000000..208ccd280bbd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/get.json
@@ -0,0 +1,39 @@
+{
+ "operationId": "MeshApplication_Get",
+ "description": "This example shows how to get a application resource. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/get_upgrade.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/get_upgrade.json
new file mode 100644
index 000000000000..61be95fa11b7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/get_upgrade.json
@@ -0,0 +1,30 @@
+{
+ "operationId": "MeshApplication_GetUpgradeProgress",
+ "description": "This example shows how to get a application resource upgrade. If the application resource exists, its description is returned along with an OK (200) status code. If the application resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "applicationResourceName": "sampleApplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "Name": "sampleApplication",
+ "TargetApplicationTypeVersion": "v1",
+ "StartTimestampUtc": "0001-01-01T00:00:00.000Z",
+ "UpgradeState": "RollingForward",
+ "PercentCompleted": "0",
+ "ServiceUpgradeProgress": [
+ {
+ "ServiceName": "helloWorldService",
+ "CompletedReplicaCount": "0",
+ "PendingReplicaCount": "3"
+ }
+ ],
+ "RollingUpgradeMode": "Monitored",
+ "UpgradeDuration": "PT0H0M2.31669S",
+ "ApplicationUpgradeStatusDetails": "Deployment upgrading from version: v0 to version: v1.",
+ "UpgradeReplicaSetCheckTimeoutInSeconds": 4294967295
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/list.json
new file mode 100644
index 000000000000..2f34f40e3488
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Applications/list.json
@@ -0,0 +1,44 @@
+{
+ "operationId": "MeshApplication_List",
+ "description": "This example shows how to list all application resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleApplication",
+ "properties": {
+ "description": "Service Fabric Mesh sample application.",
+ "serviceNames": [
+ "helloWorldService"
+ ],
+ "healthState": "Ok",
+ "status": "Ready"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "tokenServiceEndpoint": "http://tokenservice",
+ "tenantId": "D47A6CD5-E870-4ADF-8C00-1C0B758BC567",
+ "principalId": "84DFA616-1F44-4D63-BC08-43B5F758D16C",
+ "userAssignedIdentities": {
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity1": {
+ "clientId": "5287A675-78D2-4E49-BF09-D3BFE02493D4",
+ "principalId": "7D6F0B1C-AF9F-4E21-9B3C-AE22F4D926F8"
+ },
+ "/subscriptions/c1089427-83d3-4286-9f35-5af546a6eb67/resourcegroups/myGroup/providers/Microsoft.Identity/Identities/identity2": {
+ "clientId": "AF1509EC-9B5F-43CC-8A6F-FA7CC84AEBE1",
+ "principalId": "31144ACF-46F4-4639-A711-A257229EE0C0"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/create_update.json
new file mode 100644
index 000000000000..2ded194ec7cc
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/create_update.json
@@ -0,0 +1,193 @@
+{
+ "operationId": "MeshGateway_CreateOrUpdate",
+ "description": "This example shows how to create or update a gateway resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "gatewayResourceName": "sampleGateway",
+ "gatewayResourceDescription": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Ready",
+ "ipAddress": "192.168.1.1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh Hello World sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Creating",
+ "ipAddress": ""
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/delete.json
new file mode 100644
index 000000000000..63ed69926752
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshGateway_Delete",
+ "description": "This example shows how to delete an existing gateway resource. If the gateway resource exists and is deleted successfully, an empty response with 200 status code is returned. If the gateway resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "gatewayResourceName": "sampleGateway"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/get.json
new file mode 100644
index 000000000000..c85b652cbc45
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/get.json
@@ -0,0 +1,72 @@
+{
+ "operationId": "MeshGateway_Get",
+ "description": "This example shows how to get a gateway resource. If the gateway resource exists, its description is returned along with an OK (200) status code. If the gateway resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "gatewayResourceName": "sampleGateway"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Ready",
+ "ipAddress": "192.168.1.1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/list.json
new file mode 100644
index 000000000000..5ad53b7d580f
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Gateways/list.json
@@ -0,0 +1,77 @@
+{
+ "operationId": "MeshGateway_List",
+ "description": "This example shows how to list all gateway resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleGateway",
+ "properties": {
+ "description": "Service Fabric Mesh sample gateway.",
+ "sourceNetwork": {
+ "name": "Open"
+ },
+ "destinationNetwork": {
+ "name": "helloWorldNetwork"
+ },
+ "tcp": [
+ {
+ "name": "web",
+ "port": 80,
+ "destination": {
+ "applicationName": "helloWorldApp",
+ "serviceName": "helloWorldService",
+ "endpointName": "helloWorldListener"
+ }
+ }
+ ],
+ "http": [
+ {
+ "name": "contosoWebsite",
+ "port": 8081,
+ "hosts": [
+ {
+ "name": "contoso.com",
+ "routes": [
+ {
+ "name": "index",
+ "match": {
+ "path": {
+ "value": "/index",
+ "rewrite": "/",
+ "type": "prefix"
+ },
+ "headers": [
+ {
+ "name": "accept",
+ "value": "application/json",
+ "type": "exact"
+ }
+ ]
+ },
+ "destination": {
+ "applicationName": "httpHelloWorldApp",
+ "serviceName": "indexService",
+ "endpointName": "indexHttpEndpoint"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "status": "Ready",
+ "ipAddress": "192.168.1.1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/create_update.json
new file mode 100644
index 000000000000..faf2a3960b48
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/create_update.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "MeshNetwork_CreateOrUpdate",
+ "description": "This example shows how to create or update a network resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "networkResourceName": "sampleNetwork",
+ "networkResourceDescription": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/delete.json
new file mode 100644
index 000000000000..aea2170b7316
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshGateway_Delete",
+ "description": "This example shows how to delete an existing network resource. If the network resource exists and is deleted successfully, an empty response with 200 status code is returned. If the network resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "networkResourceName": "sampleNetwork"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/get.json
new file mode 100644
index 000000000000..1afaee298e7d
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "MeshGateway_Get",
+ "description": "This example shows how to get a network resource. If the network resource exists, its description is returned along with an OK (200) status code. If the network resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "networkResourceName": "sampleNetwork"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/list.json
new file mode 100644
index 000000000000..6cf521d8582c
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Networks/list.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "MeshGateway_List",
+ "description": "This example shows how to list all network resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleNetwork",
+ "properties": {
+ "kind": "Local",
+ "description": "Service Fabric Mesh sample network.",
+ "networkAddressPrefix": "2.0.0.0/16",
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/create_update.json
new file mode 100644
index 000000000000..aab0125db5a5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/create_update.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "MeshSecret_CreateOrUpdate",
+ "description": "This example shows how to create or update a secret resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretResourceDescription": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/delete.json
new file mode 100644
index 000000000000..ffe68fd3ddc7
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshSecret_Delete",
+ "description": "This example shows how to delete an existing secret resource. If the secret resource exists and is deleted successfully, an empty response with 200 status code is returned. If the secret resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/get.json
new file mode 100644
index 000000000000..f358e51722dd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "MeshSecret_Get",
+ "description": "This example shows how to get a secret resource. If the secret resource exists, its description is returned along with an OK (200) status code. If the secret resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/list.json
new file mode 100644
index 000000000000..b46d7f8ff341
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/list.json
@@ -0,0 +1,35 @@
+{
+ "operationId": "MeshSecret_List",
+ "description": "This example shows how to list all secret resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "dbConnectionString",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "Mongo DB connection string for backend database!",
+ "status": "Ready"
+ }
+ },
+ {
+ "name": "contosoServiceApiKey",
+ "properties": {
+ "kind": "inlinedValue",
+ "contentType": "text/plain",
+ "description": "API Key to access contoso service APIs",
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/create.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/create.json
new file mode 100644
index 000000000000..8cd0824452fd
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/create.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "MeshSecretValue_AddValue",
+ "description": "This example shows how to add a new value of a secret resource; the secret value is provided as plaintext.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1",
+ "secretValueResourceDescription": {
+ "name": "v1",
+ "properties": {
+ "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/delete.json
new file mode 100644
index 000000000000..ad4b3ef9540b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/delete.json
@@ -0,0 +1,14 @@
+{
+ "operationId": "MeshSecretValue_Delete",
+ "description": "This example shows how to delete a secret value. If the specified named value exists and is deleted successfully, an empty response with 200 status code is returned. If the specified named value does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/get.json
new file mode 100644
index 000000000000..a6491634ef44
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/get.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "MeshSecretValue_Get",
+ "description": "This example shows how to get the specified secret value resource. If the specified named value exists, its information is returned along with status code 200. The information does not include the value. To get the unecnrypted value use ListMeshSecretValue operation. If the specified named value does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/list.json
new file mode 100644
index 000000000000..0610d6d83c48
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/list.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "MeshSecretValue_List",
+ "description": "This example shows how to list names of all values of a secret resource, not including their respective values.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "v1",
+ "properties": {
+ "value": null
+ }
+ },
+ {
+ "name": "v2",
+ "properties": {
+ "value": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/list_value.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/list_value.json
new file mode 100644
index 000000000000..b8d09ce2e23c
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Secrets/values/list_value.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "MeshSecretValue_Show",
+ "description": "This example shows how to get the unencrypted value of the secret. If the specified named value resource exists, its unencrypted value is returned along with status code 200. If the specified named value does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "secretResourceName": "dbConnectionString",
+ "secretValueResourceName": "v1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true"
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/create_update.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/create_update.json
new file mode 100644
index 000000000000..a8dabbef9064
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/create_update.json
@@ -0,0 +1,52 @@
+{
+ "operationId": "MeshVolume_CreateOrUpdate",
+ "description": "This example shows how to create or update a volume resource.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "volumeResourceName": "sampleVolume",
+ "volumeResourceDescription": {
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": "provide-account-key-here",
+ "shareName": "sharel"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Ready"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh Hello World sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/delete.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/delete.json
new file mode 100644
index 000000000000..efaa1f836ae1
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/delete.json
@@ -0,0 +1,13 @@
+{
+ "operationId": "MeshVolume_Delete",
+ "description": "This example shows how to delete an existing volume resource. If the volume resource exists and is deleted successfully, an empty response with 200 status code is returned. If the volume resource does not exist, an empty response with 204 status code is returned.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "volumeResourceName": "sampleVolume"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/get.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/get.json
new file mode 100644
index 000000000000..9d08f3b00a82
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/get.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "MeshVolume_Get",
+ "description": "This example shows how to get a volume resource. If the volume resource exists, its description is returned along with an OK (200) status code. If the volume resource does not exist, an error is returned with an appropriate status code.",
+ "parameters": {
+ "api-version": "6.4-preview",
+ "volumeResourceName": "sampleVolume"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Ready"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/list.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/list.json
new file mode 100644
index 000000000000..3bf83798904b
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/Resources/Volumes/list.json
@@ -0,0 +1,30 @@
+{
+ "operationId": "MeshVolume_List",
+ "description": "This example shows how to list all volume resources.",
+ "parameters": {
+ "api-version": "6.4-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "ContinuationToken": "",
+ "Items": [
+ {
+ "name": "sampleVolume",
+ "properties": {
+ "description": "Service Fabric Mesh sample volume.",
+ "provider": "SFAzureFile",
+ "azureFileParameters": {
+ "accountName": "sbzdemoaccount",
+ "accountKey": null,
+ "shareName": "sharel"
+ },
+ "status": "Ready"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/RestorePartition.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/RestorePartition.json
new file mode 100644
index 000000000000..1e97e0557113
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/RestorePartition.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "RestorePartition",
+ "description": "This example shows how to trigger restore of a partition now by specifying the backup to be used to restore.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d",
+ "RestorePartitionDescription": {
+ "BackupId": "3a056ac9-7206-43c3-8424-6f6103003eba",
+ "BackupStorage": {
+ "StorageKind": "AzureBlobStore",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "BackupLocation": "CalcApp\\CalcService\\1daae3f5-7fd6-42e9-b1ba-8c05f873994d\\2018-01-01 09.00.55.zip"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumeApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumeApplicationBackup.json
new file mode 100644
index 000000000000..b25a7ac545ec
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumeApplicationBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "ResumeApplicationBackup",
+ "description": "This example shows how to resume periodic backup for a stateful application which was previously suspended.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumePartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumePartitionBackup.json
new file mode 100644
index 000000000000..feb701118438
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumePartitionBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "ResumePartitionBackup",
+ "description": "This example shows how to resume periodic backup for a stateful partition which was previously suspended.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumeServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumeServiceBackup.json
new file mode 100644
index 000000000000..9037dfa23d9e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/ResumeServiceBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "ResumeServiceBackup",
+ "description": "This example shows how to resume periodic backup for a stateful service which was previously suspended.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/StartClusterConfigurationUpgrade-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/StartClusterConfigurationUpgrade-1.json
new file mode 100644
index 000000000000..2f8fd59a474e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/StartClusterConfigurationUpgrade-1.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "StartClusterConfigurationUpgrade",
+ "description": "This example shows how to start upgrading the configuration of a Service Fabric standalone cluster.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps/CalculatorApp",
+ "ClusterConfigurationUpgradeDescription": {
+ "ClusterConfig": "",
+ "ApplicationHealthPolicies": {
+ "ApplicationHealthPolicyMap": [
+ {
+ "Key": "fabric:/samples/CalculatorApp",
+ "Value": {
+ "ConsiderWarningAsError": true,
+ "MaxPercentUnhealthyDeployedApplications": 10,
+ "DefaultServiceTypeHealthPolicy": {
+ "MaxPercentUnhealthyPartitionsPerService": 0,
+ "MaxPercentUnhealthyReplicasPerPartition": 0,
+ "MaxPercentUnhealthyServices": 0
+ },
+ "ServiceTypeHealthPolicyMap": [
+ {
+ "Key": "Svc1Type",
+ "Value": {
+ "MaxPercentUnhealthyPartitionsPerService": 0,
+ "MaxPercentUnhealthyReplicasPerPartition": 0,
+ "MaxPercentUnhealthyServices": 10
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SubmitPropertyBatch-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SubmitPropertyBatch-1.json
new file mode 100644
index 000000000000..da4ac83317d4
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SubmitPropertyBatch-1.json
@@ -0,0 +1,71 @@
+{
+ "operationId": "SubmitPropertyBatch",
+ "description": "This example shows how to submit a property batch. This batch ensures that a property exists, checks that the property has the expected sequence number, and edits the property only if the previous conditions succeed. It then performs a get operation to get the property's current info. \r\n If all of the operations succeed, the batch is committed in a transactional manner and a success response is returned with 200 status code. \r\n If the batch fails then a failed response is returned with 409 status code. The failed response below shows batch failure because the property does not have expected sequence number.",
+ "parameters": {
+ "api-version": "6.0",
+ "nameId": "samples/apps",
+ "PropertyBatchDescriptionList": {
+ "Operations": [
+ {
+ "Kind": "CheckExists",
+ "PropertyName": "PersistentQueueAppData",
+ "Exits": true
+ },
+ {
+ "Kind": "CheckSequence",
+ "PropertyName": "PersistentQueueAppData",
+ "SequenceNumber": "12"
+ },
+ {
+ "Kind": "Put",
+ "PropertyName": "PersistentQueueAppData",
+ "Value": {
+ "Kind": "Binary",
+ "Data": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5
+ ]
+ },
+ "CustomTypeId": "InitializationData"
+ },
+ {
+ "Kind": "Get",
+ "PropertyName": "PersistentQueueAppData",
+ "IncludeValue": false
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "Kind": "Successful",
+ "Properties": {
+ "3": {
+ "Name": "PersistentQueueAppData",
+ "Metadata": {
+ "TypeId": "Binary",
+ "CustomTypeId": "InitializationData",
+ "Parent": "fabric:/samples/apps",
+ "SizeInBytes": 5,
+ "LastModifiedUtcTimestamp": "2017-07-17T05:01:19.049Z",
+ "SequenceNumber": "13"
+ }
+ }
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "body": {
+ "Kind": "Failed",
+ "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
+ "OperationIndex": 1
+ }
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendApplicationBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendApplicationBackup.json
new file mode 100644
index 000000000000..75bdad71a95e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendApplicationBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "SuspendApplicationBackup",
+ "description": "This example shows how to suspend backup for a stateful application which is configured for periodic backup.",
+ "parameters": {
+ "api-version": "6.4",
+ "applicationId": "CalcApp"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendPartitionBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendPartitionBackup.json
new file mode 100644
index 000000000000..b14619dd6fe8
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendPartitionBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "SuspendPartitionBackup",
+ "description": "This example shows how to suspend backup for a stateful partition which is configured for periodic backup.",
+ "parameters": {
+ "api-version": "6.4",
+ "partitionId": "1daae3f5-7fd6-42e9-b1ba-8c05f873994d"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendServiceBackup.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendServiceBackup.json
new file mode 100644
index 000000000000..14d0575c509e
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/SuspendServiceBackup.json
@@ -0,0 +1,11 @@
+{
+ "operationId": "SuspendServiceBackup",
+ "description": "This example shows how to suspend backup for a stateful service which is configured for periodic backup.",
+ "parameters": {
+ "api-version": "6.4",
+ "serviceId": "CalcApp/CalcService"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateBackupPolicy.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateBackupPolicy.json
new file mode 100644
index 000000000000..3129817ddb68
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateBackupPolicy.json
@@ -0,0 +1,35 @@
+{
+ "operationId": "UpdateBackupPolicy",
+ "description": "This example shows how to update the schedule of a backup policy to take backup twice everyday at 9 AM and 5 PM UTC which shall get deleted after 30 days, with Azure blob store as the backup location.",
+ "parameters": {
+ "api-version": "6.4",
+ "backupPolicyName": "DailyAzureBackupPolicy",
+ "BackupPolicyDescription": {
+ "Name": "DailyAzureBackupPolicy",
+ "AutoRestoreOnDataLoss": false,
+ "MaxIncrementalBackups": 3,
+ "Schedule": {
+ "ScheduleKind": "TimeBased",
+ "ScheduleFrequencyType": "Daily",
+ "RunTimes": [
+ "0001-01-01T09:00:00Z",
+ "0001-01-01T17:00:00Z"
+ ]
+ },
+ "Storage": {
+ "StorageKind": "AzureBlobStore",
+ "FriendlyName": "Azure_storagesample",
+ "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=",
+ "ContainerName": "BackupContainer"
+ },
+ "RetentionPolicy": {
+ "RetentionPolicyType": "Basic",
+ "MinimumNumberOfBackups": 60,
+ "RetentionDuration": "P30D"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateService-1.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateService-1.json
new file mode 100644
index 000000000000..584a8d780a51
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateService-1.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "UpdateService",
+ "description": "This example shows how to update placement and load balancing related settings of a stateless Service Fabric service.",
+ "parameters": {
+ "serviceId": "test~test1",
+ "api-version": "6.0",
+ "ServiceUpdateDescription": {
+ "ServiceKind": "Stateless",
+ "Flags": "1568",
+ "PlacementConstraints": "Color==Red",
+ "DefaultMoveCost": "High",
+ "ScalingPolicies": [
+ {
+ "ScalingTrigger": {
+ "Kind": "AveragePartitionLoad",
+ "MetricName": "servicefabric:/_CpuCores",
+ "LowerLoadThreshold": 0.500000,
+ "UpperLoadThreshold": 0.800000,
+ "ScaleIntervalInSeconds": 900
+ },
+ "ScalingMechanism": {
+ "Kind": "PartitionInstanceCount",
+ "MinInstanceCount": 4,
+ "MaxInstanceCount": 6,
+ "ScaleIncrement": 2
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateService-2.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateService-2.json
new file mode 100644
index 000000000000..cdb1368dbdd6
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/examples/UpdateService-2.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "UpdateService",
+ "description": "This example shows how to update placement and load balancing related settings of a stateful Service Fabric service.",
+ "parameters": {
+ "serviceId": "test~test2",
+ "api-version": "6.0",
+ "ServiceUpdateDescription": {
+ "ServiceKind": "Stateful",
+ "Flags": "40",
+ "PlacementConstraints": "Color==Green",
+ "StandByReplicaKeepDurationSeconds": "1000"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/servicefabric.json b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/servicefabric.json
new file mode 100644
index 000000000000..d1bd7f88dee5
--- /dev/null
+++ b/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/7.0/servicefabric.json
@@ -0,0 +1,28399 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Service Fabric Client APIs",
+ "description": "Service Fabric REST Client APIs allows management of Service Fabric clusters, applications and services.",
+ "version": "7.0.0.42"
+ },
+ "host": "localhost:19080",
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/$/GetClusterManifest": {
+ "get": {
+ "operationId": "GetClusterManifest",
+ "summary": "Get the Service Fabric cluster manifest.",
+ "description": "Get the Service Fabric cluster manifest. The cluster manifest contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.\n\nThese properties are specified as part of the ClusterConfig.JSON file while deploying a stand-alone cluster. However, most of the information in the cluster manifest\nis generated internally by service fabric during cluster deployment in other deployment scenarios (e.g. when using Azure portal).\n\nThe contents of the cluster manifest are for informational purposes only and users are not expected to take a dependency on the format of the file contents or its interpretation.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster manifest information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterManifest"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterHealth": {
+ "get": {
+ "operationId": "GetClusterHealth",
+ "summary": "Gets the health of a Service Fabric cluster.",
+ "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetClusterHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric cluster using the specified policy.",
+ "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nSimilarly, use NodesHealthStateFilter and ApplicationsHealthStateFilter to filter the collection of nodes and applications returned based on their aggregated health state.\nUse ClusterHealthPolicies to override the health policies used to evaluate the health.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeSystemApplicationHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterHealthPoliciesOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterHealthChunk": {
+ "get": {
+ "operationId": "GetClusterHealthChunk",
+ "summary": "Gets the health of a Service Fabric cluster using health chunks.",
+ "description": "Gets the health of a Service Fabric cluster using health chunks. Includes the aggregated health state of the cluster, but none of the cluster entities.\nTo expand the cluster health and get the health state of all or some of the entities, use the POST URI and specify the cluster health chunk query description.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health chunk information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthChunk"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetClusterHealthChunkUsingPolicyAndAdvancedFilters",
+ "summary": "Gets the health of a Service Fabric cluster using health chunks.",
+ "description": "Gets the health of a Service Fabric cluster using health chunks. The health evaluation is done based on the input cluster health chunk query description.\nThe query description allows users to specify health policies for evaluating the cluster and its children.\nUsers can specify very flexible filters to select which cluster entities to return. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterHealthChunkQueryDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster health chunk information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthChunk"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/ReportClusterHealth": {
+ "post": {
+ "operationId": "ReportClusterHealth",
+ "summary": "Sends a health report on the Service Fabric cluster.",
+ "description": "Sends a health report on a Service Fabric cluster. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetClusterHealth and check that the report appears in the HealthEvents section.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code when the cluster health report is accepted for processing."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetProvisionedCodeVersions": {
+ "get": {
+ "operationId": "GetProvisionedFabricCodeVersionInfoList",
+ "summary": "Gets a list of fabric code versions that are provisioned in a Service Fabric cluster.",
+ "description": "Gets a list of information about fabric code versions that are provisioned in the cluster. The parameter CodeVersion can be used to optionally filter the output to only that particular version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodeVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested provisioned code versions information.",
+ "schema": {
+ "$ref": "#/definitions/FabricCodeVersionInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetProvisionedConfigVersions": {
+ "get": {
+ "operationId": "GetProvisionedFabricConfigVersionInfoList",
+ "summary": "Gets a list of fabric config versions that are provisioned in a Service Fabric cluster.",
+ "description": "Gets a list of information about fabric config versions that are provisioned in the cluster. The parameter ConfigVersion can be used to optionally filter the output to only that particular version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ConfigVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested provisioned config versions information.",
+ "schema": {
+ "$ref": "#/definitions/FabricConfigVersionInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetUpgradeProgress": {
+ "get": {
+ "operationId": "GetClusterUpgradeProgress",
+ "summary": "Gets the progress of the current cluster upgrade.",
+ "description": "Gets the current progress of the ongoing cluster upgrade. If no upgrade is currently in progress, get the last state of the previous cluster upgrade.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster upgrade progress.",
+ "schema": {
+ "$ref": "#/definitions/ClusterUpgradeProgressObject"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterConfiguration": {
+ "get": {
+ "operationId": "GetClusterConfiguration",
+ "summary": "Get the Service Fabric standalone cluster configuration.",
+ "description": "The cluster configuration contains properties of the cluster that include different node types on the cluster,\nsecurity configurations, fault, and upgrade domain topologies, etc.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationApiVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster configuration information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterConfiguration"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterConfigurationUpgradeStatus": {
+ "get": {
+ "operationId": "GetClusterConfigurationUpgradeStatus",
+ "summary": "Get the cluster configuration upgrade status of a Service Fabric standalone cluster.",
+ "description": "Get the cluster configuration upgrade status details of a Service Fabric standalone cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster configuration upgrade status.",
+ "schema": {
+ "$ref": "#/definitions/ClusterConfigurationUpgradeStatusInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetUpgradeOrchestrationServiceState": {
+ "get": {
+ "operationId": "GetUpgradeOrchestrationServiceState",
+ "summary": "Get the service state of Service Fabric Upgrade Orchestration Service.",
+ "description": "Get the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested service state of Service Fabric Upgrade Orchestration Service.",
+ "schema": {
+ "$ref": "#/definitions/UpgradeOrchestrationServiceState"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/SetUpgradeOrchestrationServiceState": {
+ "post": {
+ "operationId": "SetUpgradeOrchestrationServiceState",
+ "summary": "Update the service state of Service Fabric Upgrade Orchestration Service.",
+ "description": "Update the service state of Service Fabric Upgrade Orchestration Service. This API is internally used for support purposes.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UpgradeOrchestrationServiceStateRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the service state of Service Fabric Upgrade Orchestration Service has been updated.",
+ "schema": {
+ "$ref": "#/definitions/UpgradeOrchestrationServiceStateSummary"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/Provision": {
+ "post": {
+ "summary": "Provision the code or configuration packages of a Service Fabric cluster.",
+ "description": "Validate and provision the code or configuration packages of a Service Fabric cluster.",
+ "operationId": "ProvisionCluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ProvisionFabricDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the code or configuration packages have been provisioned."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/Unprovision": {
+ "post": {
+ "summary": "Unprovision the code or configuration packages of a Service Fabric cluster.",
+ "description": "It is supported to unprovision code and configuration separately.",
+ "operationId": "UnprovisionCluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UnprovisionFabricDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the code or configuration packages have been unprovisioned."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/RollbackUpgrade": {
+ "post": {
+ "summary": "Roll back the upgrade of a Service Fabric cluster.",
+ "description": "Roll back the code or configuration upgrade of a Service Fabric cluster.",
+ "operationId": "RollbackClusterUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful response means that the rollback of a cluster upgrade has been initiated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/MoveToNextUpgradeDomain": {
+ "post": {
+ "summary": "Make the cluster upgrade move on to the next upgrade domain.",
+ "description": "Make the cluster code or configuration upgrade move on to the next upgrade domain if appropriate.",
+ "operationId": "ResumeClusterUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ResumeClusterUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the cluster upgrade has moved on to the next upgrade domain."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/Upgrade": {
+ "post": {
+ "summary": "Start upgrading the code or configuration version of a Service Fabric cluster.",
+ "description": "Validate the supplied upgrade parameters and start upgrading the code or configuration version of a Service Fabric cluster if the parameters are valid.",
+ "operationId": "StartClusterUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartClusterUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful response means that the cluster code or configuration upgrade has started. Use GetUpgradeProgress operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/StartClusterConfigurationUpgrade": {
+ "post": {
+ "summary": "Start upgrading the configuration of a Service Fabric standalone cluster.",
+ "description": "Validate the supplied configuration upgrade parameters and start upgrading the cluster configuration if the parameters are valid.",
+ "operationId": "StartClusterConfigurationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterConfigurationUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "x-ms-examples": {
+ "Start upgrading the configuration of a Service Fabric standalone cluster": {
+ "$ref": "./examples/StartClusterConfigurationUpgrade-1.json"
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "A successful response means that the cluster configuration upgrade has started. Use GetClusterConfigurationUpgradeStatus operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/UpdateUpgrade": {
+ "post": {
+ "operationId": "UpdateClusterUpgrade",
+ "summary": "Update the upgrade parameters of a Service Fabric cluster upgrade.",
+ "description": "Update the upgrade parameters used during a Service Fabric cluster upgrade.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UpdateClusterUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetAadMetadata": {
+ "get": {
+ "operationId": "GetAadMetadata",
+ "summary": "Gets the Azure Active Directory metadata used for secured connection to cluster.",
+ "description": "Gets the Azure Active Directory metadata used for secured connection to cluster.\nThis API is not supposed to be called separately. It provides information needed to set up an Azure Active Directory secured connection with a Service Fabric cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "schemes": [
+ "https"
+ ],
+ "tags": [
+ "Cluster"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the Azure Active Directory metadata.",
+ "schema": {
+ "$ref": "#/definitions/AadMetadataObject"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetClusterVersion": {
+ "get": {
+ "operationId": "GetClusterVersion",
+ "summary": "Get the current Service Fabric cluster version.",
+ "description": "If a cluster upgrade is happening, then this API will return the lowest (older) version of the current and target cluster runtime versions.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get cluster version": {
+ "$ref": "./examples/GetClusterVersion-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster version information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterVersion"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetLoadInformation": {
+ "get": {
+ "operationId": "GetClusterLoad",
+ "summary": "Gets the load of a Service Fabric cluster.",
+ "description": "Retrieves the load information of a Service Fabric cluster for all the metrics that have load or capacity defined.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested cluster load information.",
+ "schema": {
+ "$ref": "#/definitions/ClusterLoadInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/ToggleVerboseServicePlacementHealthReporting": {
+ "post": {
+ "operationId": "ToggleVerboseServicePlacementHealthReporting",
+ "summary": "Changes the verbosity of service placement health reporting.",
+ "description": "If verbosity is set to true, then detailed health reports will be generated when replicas cannot be placed or dropped.\nIf verbosity is set to false, then no health reports will be generated when replicas cannot be placed or dropped.",
+ "tags": [
+ "Cluster"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VerboseServicePlacementHealthReportingParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the verbosity of service placement health reporting was updated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes": {
+ "get": {
+ "summary": "Gets the list of nodes in the Service Fabric cluster.",
+ "description": "The response includes the name, status, ID, health, uptime, and other details about the nodes.",
+ "operationId": "GetNodeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-3_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeStatusFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Node"
+ ],
+ "x-ms-examples": {
+ "Get information about all nodes": {
+ "$ref": "./examples/GetNodeInfoList.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetNodeInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetNodeInfoList-2.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of nodes in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedNodeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}": {
+ "get": {
+ "summary": "Gets the information about a specific node in the Service Fabric cluster.",
+ "description": "The response includes the name, status, ID, health, uptime, and other details about the node.",
+ "operationId": "GetNodeInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Node"
+ ],
+ "x-ms-examples": {
+ "Get a specific node by node name": {
+ "$ref": "./examples/GetNodeInfo-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return information about the node with the specified nodeName.",
+ "schema": {
+ "$ref": "#/definitions/NodeInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified nodeName is not found."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetHealth": {
+ "get": {
+ "operationId": "GetNodeHealth",
+ "summary": "Gets the health of a Service Fabric node.",
+ "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. If the node that you specify by name does not exist in the health store, this returns an error.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node health information.",
+ "schema": {
+ "$ref": "#/definitions/NodeHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetNodeHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric node, by using the specified health policy.",
+ "description": "Gets the health of a Service Fabric node. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicy in the POST body to override the health policies used to evaluate the health. If the node that you specify by name does not exist in the health store, this returns an error.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ClusterHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node health information.",
+ "schema": {
+ "$ref": "#/definitions/NodeHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportNodeHealth",
+ "summary": "Sends a health report on the Service Fabric node.",
+ "description": "Reports health state of the specified Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway node, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetNodeHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetLoadInformation": {
+ "get": {
+ "operationId": "GetNodeLoadInfo",
+ "summary": "Gets the load information of a Service Fabric node.",
+ "description": "Retrieves the load information of a Service Fabric node for all the metrics that have load or capacity defined.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node load information.",
+ "schema": {
+ "$ref": "#/definitions/NodeLoadInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/Deactivate": {
+ "post": {
+ "operationId": "DisableNode",
+ "summary": "Deactivate a Service Fabric cluster node with the specified deactivation intent.",
+ "description": "Deactivate a Service Fabric cluster node with the specified deactivation intent. Once the deactivation is in progress, the deactivation intent can be increased, but not decreased (for example, a node that is deactivated with the Pause intent can be deactivated further with Restart, but not the other way around. Nodes may be reactivated using the Activate a node operation any time after they are deactivated. If the deactivation is not complete, this will cancel the deactivation. A node that goes down and comes back up while deactivated will still need to be reactivated before services will be placed on that node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeactivationIntentDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/Activate": {
+ "post": {
+ "operationId": "EnableNode",
+ "summary": "Activate a Service Fabric cluster node that is currently deactivated.",
+ "description": "Activates a Service Fabric cluster node that is currently deactivated. Once activated, the node will again become a viable target for placing new replicas, and any deactivated replicas remaining on the node will be reactivated.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/RemoveNodeState": {
+ "post": {
+ "operationId": "RemoveNodeState",
+ "summary": "Notifies Service Fabric that the persisted state on a node has been permanently removed or lost.",
+ "description": "This implies that it is not possible to recover the persisted state of that node. This generally happens if a hard disk has been wiped clean, or if a hard disk crashes. The node has to be down for this operation to be successful. This operation lets Service Fabric know that the replicas on that node no longer exist, and that Service Fabric should stop waiting for those replicas to come back up. Do not run this cmdlet if the state on the node has not been removed and the node can come back up with its state intact. Starting from Service Fabric 6.5, in order to use this API for seed nodes, please change the seed nodes to regular (non-seed) nodes and then invoke this API to remove the node state. If the cluster is running on Azure, after the seed node goes down, Service Fabric will try to change it to a non-seed node automatically. To make this happen, make sure the number of non-seed nodes in the primary node type is no less than the number of Down seed nodes. If necessary, add more nodes to the primary node type to achieve this. For standalone cluster, if the Down seed node is not expected to come back up with its state intact, please remove the node from the cluster, see https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-windows-server-add-remove-nodes",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/Restart": {
+ "post": {
+ "operationId": "RestartNode",
+ "summary": "Restarts a Service Fabric cluster node.",
+ "description": "Restarts a Service Fabric cluster node that is already started.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RestartNodeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the node and it is in the process of restarting. Check the status of the node by calling GetNode operation."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/RemoveConfigurationOverrides": {
+ "delete": {
+ "operationId": "RemoveConfigurationOverrides",
+ "summary": "Removes configuration overrides on the specified node.",
+ "description": "This api allows removing all existing configuration overrides on specified node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetConfigurationOverrides": {
+ "get": {
+ "operationId": "GetConfigurationOverrides",
+ "summary": "Gets the list of configuration overrides on the specified node.",
+ "description": "This api allows getting all existing configuration overrides on the specified node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of configuration overrides on the node.",
+ "schema": {
+ "$ref": "#/definitions/ConfigParameterOverrideList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/AddConfigurationParameterOverrides": {
+ "post": {
+ "operationId": "AddConfigurationParameterOverrides",
+ "summary": "Adds the list of configuration overrides on the specified node.",
+ "description": "This api allows adding all existing configuration overrides on the specified node.",
+ "tags": [
+ "Node"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationOverrideListRequiredParam"
+ },
+ {
+ "$ref": "#/parameters/ForceConfigurationOverrideOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes": {
+ "get": {
+ "summary": "Gets the list of application types in the Service Fabric cluster.",
+ "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. Each version of an application type is returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.",
+ "operationId": "GetApplicationTypeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeDefinitionKindFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationTypeInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationTypeInfoList-2.json"
+ },
+ "Exclude application parameters from the result": {
+ "$ref": "./examples/GetApplicationTypeInfoList-3.json"
+ }
+ },
+ "tags": [
+ "ApplicationType"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of application types in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}": {
+ "get": {
+ "summary": "Gets the list of application types in the Service Fabric cluster matching exactly the specified name.",
+ "description": "Returns the information about the application types that are provisioned or in the process of being provisioned in the Service Fabric cluster. These results are of application types whose name match exactly the one specified as the parameter, and which comply with the given query parameters. All versions of the application type matching the application type name are returned, with each version returned as one application type. The response includes the name, version, status, and other details about the application type. This is a paged query, meaning that if not all of the application types fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. For example, if there are 10 application types but a page only fits the first three application types, or if max results is set to 3, then three is returned. To access the rest of the results, retrieve subsequent pages by using the returned continuation token in the next query. An empty continuation token is returned if there are no subsequent pages.",
+ "operationId": "GetApplicationTypeInfoListByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ApplicationType"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of application types in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/$/Provision": {
+ "post": {
+ "operationId": "ProvisionApplicationType",
+ "summary": "Provisions or registers a Service Fabric application type with the cluster using the '.sfpkg' package in the external store or using the application package in the image store.",
+ "description": "Provisions a Service Fabric application type with the cluster. The provision is required before any new applications can be instantiated.\nThe provision operation can be performed either on the application package specified by the relativePathInImageStore, or by using the URI of the external '.sfpkg'.",
+ "tags": [
+ "ApplicationType"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ProvisionApplicationTypeDescriptionBaseRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful provision will return 200 status code."
+ },
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted and the provision operation has been initiated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/Unprovision": {
+ "post": {
+ "operationId": "UnprovisionApplicationType",
+ "summary": "Removes or unregisters a Service Fabric application type from the cluster.",
+ "description": "This operation can only be performed if all application instances of the application type have been deleted. Once the application type is unregistered, no new application instances can be created for this particular application type.",
+ "tags": [
+ "ApplicationType"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/UnprovisionApplicationTypeRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful provision will return 200 status code."
+ },
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes": {
+ "get": {
+ "summary": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster.",
+ "description": "Gets the list containing the information about service types that are supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned.",
+ "operationId": "GetServiceTypeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "x-ms-examples": {
+ "Get information about all nodes.": {
+ "$ref": "./examples/GetServiceTypeInfoList-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of service types that are supported by a provisioned application type.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}": {
+ "get": {
+ "summary": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster.",
+ "description": "Gets the information about a specific service type that is supported by a provisioned application type in a Service Fabric cluster. The provided application type must exist. Otherwise, a 404 status is returned. A 204 response is returned if the specified service type is not found in the cluster.",
+ "operationId": "GetServiceTypeInfoByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "x-ms-examples": {
+ "Get information about all nodes.": {
+ "$ref": "./examples/GetServiceTypeInfoByName-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A specific service type which supported by a provisioned application type.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTypeInfo"
+ }
+ },
+ "204": {
+ "description": "A 204 response is returned if the specified service type is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest": {
+ "get": {
+ "summary": "Gets the manifest describing a service type.",
+ "description": "Gets the manifest describing a service type. The response contains the service manifest XML as a string.",
+ "operationId": "GetServiceManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the service type.",
+ "schema": {
+ "$ref": "#/definitions/ServiceTypeManifest"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes": {
+ "get": {
+ "summary": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster.",
+ "description": "Gets the list containing the information about service types from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package.",
+ "operationId": "GetDeployedServiceTypeInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of information about service types of an application deployed on a node.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceTypeInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}": {
+ "get": {
+ "summary": "Gets the information about a specified service type of the application deployed on a node in a Service Fabric cluster.",
+ "description": "Gets the list containing the information about a specific service type from the applications deployed on a node in a Service Fabric cluster. The response includes the name of the service type, its registration status, the code package that registered it and activation ID of the service package. Each entry represents one activation of a service type, differentiated by the activation ID.",
+ "operationId": "GetDeployedServiceTypeInfoByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServiceType_ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ServiceType"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about service types of an application deployed on a node.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceTypeInfoList"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified service type of the application is not deployed on the node."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/$/Create": {
+ "post": {
+ "summary": "Creates a Service Fabric application.",
+ "description": "Creates a Service Fabric application using the specified description.",
+ "operationId": "CreateApplication",
+ "x-ms-examples": {
+ "Create application.": {
+ "$ref": "./examples/CreateApplication-1.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "201": {
+ "description": "A successful response means that the application creation has been started. Use GetApplication operation to get the status of the application. Once GetApplicationInfo successfully returns application information, the application is created. If the application has default services those may be in the process of being created. Use GetServiceInfo operation to get the status of the service within the application."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/Delete": {
+ "post": {
+ "summary": "Deletes an existing Service Fabric application.",
+ "description": "An application must be created before it can be deleted. Deleting an application will delete all services that are part of that application. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if a service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the application and all of its services.",
+ "operationId": "DeleteApplication",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRemoveOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetLoadInformation": {
+ "get": {
+ "summary": "Gets load information about a Service Fabric application.",
+ "description": "Returns the load information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, minimum nodes, maximum nodes, the number of nodes the application is occupying currently, and application load metric information about the application.",
+ "operationId": "GetApplicationLoadInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the application load.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationLoadInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified applicationId is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications": {
+ "get": {
+ "summary": "Gets the list of applications created in the Service Fabric cluster that match the specified filters.",
+ "description": "Gets the information about the applications that were created or in the process of being created in the Service Fabric cluster and match the specified filters. The response includes the name, type, status, parameters, and other details about the application. If the applications do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Filters ApplicationTypeName and ApplicationDefinitionKindFilter cannot be specified at the same time.",
+ "operationId": "GetApplicationInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationDefinitionKindFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationInfoList-2.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of applications created in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}": {
+ "get": {
+ "summary": "Gets information about a Service Fabric application.",
+ "description": "Returns the information about the application that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, type, status, parameters, and other details about the application.",
+ "operationId": "GetApplicationInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeApplicationParametersOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "x-ms-examples": {
+ "Get a specific application by application id": {
+ "$ref": "./examples/GetApplicationInfoByName-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Information about the application.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified applicationId is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetHealth": {
+ "get": {
+ "summary": "Gets the health of the service fabric application.",
+ "description": "Returns the heath state of the service fabric application. The response reports either Ok, Error or Warning health state. If the entity is not found in the health store, it will return Error.",
+ "operationId": "GetApplicationHealth",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested application health information.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetApplicationHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric application using the specified policy.",
+ "description": "Gets the health of a Service Fabric application. Use EventsHealthStateFilter to filter the collection of health events reported on the node based on the health state. Use ClusterHealthPolicies to override the health policies used to evaluate the health.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedApplicationsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServicesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested node health information.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportApplicationHealth",
+ "summary": "Sends a health report on the Service Fabric application.",
+ "description": "Reports health state of the specified Service Fabric application. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Application, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get application health and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/Upgrade": {
+ "post": {
+ "summary": "Starts upgrading an application in the Service Fabric cluster.",
+ "description": "Validates the supplied application upgrade parameters and starts upgrading the application if the parameters are valid.",
+ "operationId": "StartApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application upgrade has started. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetUpgradeProgress": {
+ "get": {
+ "summary": "Gets details for the latest upgrade performed on this application.",
+ "description": "Returns information about the state of the latest application upgrade along with details to aid debugging application health issues.",
+ "operationId": "GetApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "The application upgrade details.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpgradeProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/UpdateUpgrade": {
+ "post": {
+ "summary": "Updates an ongoing application upgrade in the Service Fabric cluster.",
+ "description": "Updates the parameters of an ongoing application upgrade from the ones specified at the time of starting the application upgrade. This may be required to mitigate stuck application upgrades due to incorrect parameters or issues in the application to make progress.",
+ "operationId": "UpdateApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationUpgradeUpdateDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application upgrade has updated with the specified parameters. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/MoveToNextUpgradeDomain": {
+ "post": {
+ "summary": "Resumes upgrading an application in the Service Fabric cluster.",
+ "description": "Resumes an unmonitored manual Service Fabric application upgrade. Service Fabric upgrades one upgrade domain at a time. For unmonitored manual upgrades, after Service Fabric finishes an upgrade domain, it waits for you to call this API before proceeding to the next upgrade domain.",
+ "operationId": "ResumeApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ResumeApplicationUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application upgrade has been resumed in the specified upgrade domain. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/RollbackUpgrade": {
+ "post": {
+ "summary": "Starts rolling back the currently on-going upgrade of an application in the Service Fabric cluster.",
+ "description": "Starts rolling back the current application upgrade to the previous version. This API can only be used to roll back the current in-progress upgrade that is rolling forward to new version. If the application is not currently being upgraded use StartApplicationUpgrade API to upgrade it to desired version, including rolling back to a previous version.",
+ "operationId": "RollbackApplicationUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the application has started to roll back. Use GetApplicationUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications": {
+ "get": {
+ "operationId": "GetDeployedApplicationInfoList",
+ "summary": "Gets the list of applications deployed on a Service Fabric node.",
+ "description": "Gets the list of applications deployed on a Service Fabric node. The results do not include information about deployed system applications unless explicitly queried for by ID. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetDeployedApplicationInfoList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetDeployedApplicationInfoList-2.json"
+ },
+ "Include health state in the result": {
+ "$ref": "./examples/GetDeployedApplicationInfoList-3.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed application information.",
+ "schema": {
+ "$ref": "#/definitions/PagedDeployedApplicationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}": {
+ "get": {
+ "operationId": "GetDeployedApplicationInfo",
+ "summary": "Gets the information about an application deployed on a Service Fabric node.",
+ "description": "This query returns system application information if the application ID provided is for system application. Results encompass deployed applications in active, activating, and downloading states. This query requires that the node name corresponds to a node on the cluster. The query fails if the provided node name does not point to any active Service Fabric nodes on the cluster.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-1_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeHealthStateOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a specific deployed application by application ID and include the health state in the result": {
+ "$ref": "./examples/GetDeployedApplicationInfoByName-1.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the information about the deployed application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedApplicationInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified application is not deployed on the node."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth": {
+ "get": {
+ "operationId": "GetDeployedApplicationHealth",
+ "summary": "Gets the information about health of an application deployed on a Service Fabric node.",
+ "description": "Gets the information about health of an application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetDeployedApplicationHealthUsingPolicy",
+ "summary": "Gets the information about health of an application deployed on a Service Fabric node. using the specified policy.",
+ "description": "Gets the information about health of an application deployed on a Service Fabric node using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed application based on health state. Use DeployedServicePackagesHealthStateFilter to optionally filter for DeployedServicePackageHealth children based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeployedServicePackagesHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Application"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedApplicationHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportDeployedApplicationHealth",
+ "summary": "Sends a health report on the Service Fabric application deployed on a Service Fabric node.",
+ "description": "Reports health state of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed application health and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Application"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest": {
+ "get": {
+ "summary": "Gets the manifest describing an application type.",
+ "description": "The response contains the application manifest XML as a string.",
+ "operationId": "GetApplicationManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationTypeVersionRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ApplicationType"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the node.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationTypeManifest"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices": {
+ "get": {
+ "summary": "Gets the information about all services belonging to the application specified by the application ID.",
+ "description": "Returns the information about all services belonging to the application specified by the application ID.",
+ "operationId": "GetServiceInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceTypeNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of services in the cluster for the specified application.",
+ "schema": {
+ "$ref": "#/definitions/PagedServiceInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices/{serviceId}": {
+ "get": {
+ "summary": "Gets the information about the specific service belonging to the Service Fabric application.",
+ "description": "Returns the information about the specified service belonging to the specified Service Fabric application.",
+ "operationId": "GetServiceInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified service is not part of the specified application."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetApplicationName": {
+ "get": {
+ "summary": "Gets the name of the Service Fabric application for a service.",
+ "description": "Gets the name of the application for the specified service. A 404 FABRIC_E_SERVICE_DOES_NOT_EXIST error is returned if a service with the provided service ID does not exist.",
+ "operationId": "GetApplicationNameInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the name of the application for the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationNameInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices/$/Create": {
+ "post": {
+ "operationId": "CreateService",
+ "summary": "Creates the specified Service Fabric service.",
+ "description": "This api allows creating a new Service Fabric stateless or stateful service under a specified Service Fabric application. The description for creating the service includes partitioning information and optional properties for placement and load balancing. Some of the properties can later be modified using `UpdateService` API.",
+ "x-ms-examples": {
+ "Basic stateless service": {
+ "$ref": "./examples/CreateService-1.json"
+ },
+ "Basic stateful service": {
+ "$ref": "./examples/CreateService-2.json"
+ },
+ "Stateless service with dns name and auto scaling": {
+ "$ref": "./examples/CreateService-3.json"
+ },
+ "Stateful service with named partitions and auto scaling": {
+ "$ref": "./examples/CreateService-4.json"
+ }
+ },
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate": {
+ "post": {
+ "summary": "Creates a Service Fabric service from the service template.",
+ "description": "Creates a Service Fabric service from the service template defined in the application manifest. A service template contains the properties that will be same for the service instance of the same type. The API allows overriding the properties that are usually different for different services of the same service type.",
+ "operationId": "CreateServiceFromTemplate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/CreateServiceFromTemplateRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/Delete": {
+ "post": {
+ "summary": "Deletes an existing Service Fabric service.",
+ "description": "A service must be created before it can be deleted. By default, Service Fabric will try to close service replicas in a graceful manner and then delete the service. However, if the service is having issues closing the replica gracefully, the delete operation may take a long time or get stuck. Use the optional ForceRemove flag to skip the graceful close sequence and forcefully delete the service.",
+ "operationId": "DeleteService",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRemoveOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/Update": {
+ "post": {
+ "operationId": "UpdateService",
+ "summary": "Updates a Service Fabric service using the specified update description.",
+ "description": "This API allows updating properties of a running Service Fabric service. The set of properties that can be updated are a subset of the properties that were specified at the time of creating the service. The current set of properties can be obtained using `GetServiceDescription` API. Note that updating the properties of a running service is different than upgrading your application using `StartApplicationUpgrade` API. The upgrade is a long running background operation that involves moving the application from one version to another, one upgrade domain at a time, whereas update applies the new properties immediately to the service.",
+ "x-ms-examples": {
+ "Stateless service": {
+ "$ref": "./examples/UpdateService-1.json"
+ },
+ "Stateful service": {
+ "$ref": "./examples/UpdateService-2.json"
+ }
+ },
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceUpdateDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetDescription": {
+ "get": {
+ "summary": "Gets the description of an existing Service Fabric service.",
+ "description": "Gets the description of an existing Service Fabric service. A service must be created before its description can be obtained.",
+ "operationId": "GetServiceDescription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.",
+ "schema": {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetHealth": {
+ "get": {
+ "summary": "Gets the health of the specified Service Fabric service.",
+ "description": "Gets the health information of the specified service.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.",
+ "operationId": "GetServiceHealth",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "summary": "Gets the health of the specified Service Fabric service, by using the specified health policy.",
+ "description": "Gets the health information of the specified service.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse PartitionsHealthStateFilter to filter the collection of partitions returned.\nIf you specify a service that does not exist in the health store, this request returns an error.",
+ "operationId": "GetServiceHealthUsingPolicy",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the specified service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportServiceHealth",
+ "summary": "Sends a health report on the Service Fabric service.",
+ "description": "Reports health state of the specified Service Fabric service. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetServiceHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/ResolvePartition": {
+ "get": {
+ "operationId": "ResolveService",
+ "summary": "Resolve a Service Fabric partition.",
+ "description": "Resolve a Service Fabric service partition to get the endpoints of the service replicas.",
+ "tags": [
+ "Service"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionKeyTypeOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionKeyValueOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PreviousRspVersionOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.",
+ "schema": {
+ "$ref": "#/definitions/ResolvedServicePartition"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetUnplacedReplicaInformation": {
+ "get": {
+ "summary": "Gets the information about unplaced replica of the service.",
+ "description": "Returns the information about the unplaced replicas of the service.\nIf PartitionId is specified, then result will contain information only about unplaced replicas for that partition.\nIf PartitionId is not specified, then result will contain information about unplaced replicas for all partitions of that service.\nIf OnlyQueryPrimaries is set to true, then result will contain information only about primary replicas, and will ignore unplaced secondary replicas.",
+ "operationId": "GetUnplacedReplicaInformation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/OnlyQueryPrimariesOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified service.",
+ "schema": {
+ "$ref": "#/definitions/UnplacedReplicaInformation"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetPartitions": {
+ "get": {
+ "summary": "Gets the list of partitions of a Service Fabric service.",
+ "description": "The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.",
+ "operationId": "GetPartitionInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of partitions of a Service Fabric service.",
+ "schema": {
+ "$ref": "#/definitions/PagedServicePartitionInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}": {
+ "get": {
+ "summary": "Gets the information about a Service Fabric partition.",
+ "description": "Gets the information about the specified partition. The response includes the partition ID, partitioning scheme information, keys supported by the partition, status, health, and other details about the partition.",
+ "operationId": "GetPartitionInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified partitionId is not found in the cluster."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetServiceName": {
+ "get": {
+ "summary": "Gets the name of the Service Fabric service for a partition.",
+ "description": "Gets name of the service for the specified partition. A 404 error is returned if the partition ID does not exist in the cluster.",
+ "operationId": "GetServiceNameInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the name of the service for the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/ServiceNameInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetHealth": {
+ "get": {
+ "summary": "Gets the health of the specified Service Fabric partition.",
+ "description": "Use EventsHealthStateFilter to filter the collection of health events reported on the service based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition.\nIf you specify a partition that does not exist in the health store, this request returns an error.",
+ "operationId": "GetPartitionHealth",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information about the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/PartitionHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "summary": "Gets the health of the specified Service Fabric partition, by using the specified health policy.",
+ "description": "Gets the health information of the specified partition.\nIf the application health policy is specified, the health evaluation uses it to get the aggregated health state.\nIf the policy is not specified, the health evaluation uses the application health policy defined in the application manifest, or the default health policy, if no policy is defined in the manifest.\nUse EventsHealthStateFilter to filter the collection of health events reported on the partition based on the health state.\nUse ReplicasHealthStateFilter to filter the collection of ReplicaHealthState objects on the partition. Use ApplicationHealthPolicy in the POST body to override the health policies used to evaluate the health.\nIf you specify a partition that does not exist in the health store, this request returns an error.",
+ "operationId": "GetPartitionHealthUsingPolicy",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicasHealthStateFilerOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeHealthStatisticsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information about the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/PartitionHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportPartitionHealth",
+ "summary": "Sends a health report on the Service Fabric partition.",
+ "description": "Reports health state of the specified Service Fabric partition. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Partition, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetPartitionHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetLoadInformation": {
+ "get": {
+ "summary": "Gets the load information of the specified Service Fabric partition.",
+ "description": "Returns information about the load of a specified partition.\nThe response includes a list of load reports for a Service Fabric partition.\nEach report includes the load metric name, value, and last reported time in UTC.",
+ "operationId": "GetPartitionLoadInformation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Partition"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified partition's last reported load metrics.",
+ "schema": {
+ "$ref": "#/definitions/PartitionLoadInformation"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/ResetLoad": {
+ "post": {
+ "operationId": "ResetPartitionLoad",
+ "summary": "Resets the current load of a Service Fabric partition.",
+ "description": "Resets the current load of a Service Fabric partition to the default load for the service.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/Recover": {
+ "post": {
+ "operationId": "RecoverPartition",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover a specific partition that is currently stuck in quorum loss.",
+ "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/$/{serviceId}/$/GetPartitions/$/Recover": {
+ "post": {
+ "operationId": "RecoverServicePartitions",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss.",
+ "description": "Indicates to the Service Fabric cluster that it should attempt to recover the specified service that is currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/RecoverSystemPartitions": {
+ "post": {
+ "operationId": "RecoverSystemPartitions",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss.",
+ "description": "Indicates to the Service Fabric cluster that it should attempt to recover the system services that are currently stuck in quorum loss. This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/RecoverAllPartitions": {
+ "post": {
+ "operationId": "RecoverAllPartitions",
+ "summary": "Indicates to the Service Fabric cluster that it should attempt to recover any services (including system services) which are currently stuck in quorum loss.",
+ "description": "This operation should only be performed if it is known that the replicas that are down cannot be recovered. Incorrect use of this API can cause potential data loss.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/MovePrimaryReplica": {
+ "post": {
+ "operationId": "MovePrimaryReplica",
+ "summary": "Moves the primary replica of a partition of a stateful service.",
+ "description": "This command moves the primary replica of a partition of a stateful service, respecting all constraints.\nIf NodeName parameter is specified, primary will be moved to the specified node (if constraints allow it).\nIf NodeName parameter is not specified, primary replica will be moved to a random node in the cluster.\nIf IgnoreConstraints parameter is specified and set to true, then primary will be moved regardless of the constraints.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/IgnoreConstraintsOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/MoveSecondaryReplica": {
+ "post": {
+ "operationId": "MoveSecondaryReplica",
+ "summary": "Moves the secondary replica of a partition of a stateful service.",
+ "description": "This command moves the secondary replica of a partition of a stateful service, respecting all constraints.\nCurrentNodeName parameter must be specified to identify the replica that is moved.\nSource node name must be specified, but new node name can be omitted, and in that case replica is moved to a random node.\nIf IgnoreConstraints parameter is specified and set to true, then secondary will be moved regardless of the constraints.",
+ "tags": [
+ "Partition"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/CurrentNodeNameRequiredParam"
+ },
+ {
+ "$ref": "#/parameters/NewNodeNameOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/IgnoreConstraintsOptionalParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation request will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/CreateRepairTask": {
+ "post": {
+ "operationId": "CreateRepairTask",
+ "summary": "Creates a new repair task.",
+ "description": "For clusters that have the Repair Manager Service configured,\nthis API provides a way to create repair tasks that run automatically or manually.\nFor repair tasks that run automatically, an appropriate repair executor\nmust be running for each repair action to run automatically.\nThese are currently only available in specially-configured Azure Cloud Services.\n\nTo create a manual repair task, provide the set of impacted node names and the\nexpected impact. When the state of the created repair task changes to approved,\nyou can safely perform repair actions on those nodes.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the created repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/CancelRepairTask": {
+ "post": {
+ "operationId": "CancelRepairTask",
+ "summary": "Requests the cancellation of the given repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskCancelDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.\nSuccess indicates that the cancellation request was recorded, but does not guarantee that the repair task will be cancelled.\nClients may use the State property of the repair task to determine the current state of the repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/DeleteRepairTask": {
+ "post": {
+ "operationId": "DeleteRepairTask",
+ "summary": "Deletes a completed repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskDeleteDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/GetRepairTaskList": {
+ "get": {
+ "operationId": "GetRepairTaskList",
+ "summary": "Gets a list of repair tasks matching the given filters.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskIdFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskExecutorFilterOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides a list of repair tasks matching all of the given filters.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/ForceApproveRepairTask": {
+ "post": {
+ "operationId": "ForceApproveRepairTask",
+ "summary": "Forces the approval of the given repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskApproveDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/UpdateRepairTaskHealthPolicy": {
+ "post": {
+ "operationId": "UpdateRepairTaskHealthPolicy",
+ "summary": "Updates the health policy of the given repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/UpdateRepairExecutionState": {
+ "post": {
+ "operationId": "UpdateRepairExecutionState",
+ "summary": "Updates the execution state of a repair task.",
+ "description": "This API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RepairTaskRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "RepairManagement"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.\nThe response body provides information about the updated repair task.",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas": {
+ "get": {
+ "summary": "Gets the information about replicas of a Service Fabric service partition.",
+ "description": "The GetReplicas endpoint returns information about the replicas of the specified partition. The response includes the ID, role, status, health, node name, uptime, and other details about the replica.",
+ "operationId": "GetReplicaInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the replicas of the specified partition.",
+ "schema": {
+ "$ref": "#/definitions/PagedReplicaInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas/{replicaId}": {
+ "get": {
+ "summary": "Gets the information about a replica of a Service Fabric partition.",
+ "description": "The response includes the ID, role, status, health, node name, uptime, and other details about the replica.",
+ "operationId": "GetReplicaInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the specified replicas of the specified partition of a Service Fabric service.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified replicaId is not a replica of the specified partition."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth": {
+ "get": {
+ "operationId": "GetReplicaHealth",
+ "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance.",
+ "description": "Gets the health of a Service Fabric replica.\nUse EventsHealthStateFilter to filter the collection of health events reported on the replica based on the health state.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested replica health.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetReplicaHealthUsingPolicy",
+ "summary": "Gets the health of a Service Fabric stateful service replica or stateless service instance using the specified policy.",
+ "description": "Gets the health of a Service Fabric stateful service replica or stateless service instance.\nUse EventsHealthStateFilter to filter the collection of health events reported on the cluster based on the health state.\nUse ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Replica"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested replica health information.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportReplicaHealth",
+ "summary": "Sends a health report on the Service Fabric replica.",
+ "description": "Reports health state of the specified Service Fabric replica. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Replica, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, run GetReplicaHealth and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaHealthReportServiceKindRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas": {
+ "get": {
+ "operationId": "GetDeployedServiceReplicaInfoList",
+ "summary": "Gets the list of replicas deployed on a Service Fabric node.",
+ "description": "Gets the list containing the information about replicas deployed on a Service Fabric node. The information include partition ID, replica ID, status of the replica, name of the service, name of the service type, and other information. Use PartitionId or ServiceManifestName query parameters to return information about the deployed replicas matching the specified values for those parameters.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service replica information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceReplicaInfoList"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified applicationId is not found on the specified node. An empty response is also returned if there are no replicas matching the specified filter values for PartitionId or ServiceManifestName query parameters."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail": {
+ "get": {
+ "operationId": "GetDeployedServiceReplicaDetailInfo",
+ "summary": "Gets the details of replica deployed on a Service Fabric node.",
+ "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service replica information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas": {
+ "get": {
+ "operationId": "GetDeployedServiceReplicaDetailInfoByPartitionId",
+ "summary": "Gets the details of replica deployed on a Service Fabric node.",
+ "description": "Gets the details of the replica deployed on a Service Fabric node. The information includes service kind, service name, current service operation, current service operation start date time, partition ID, replica/instance ID, reported load, and other information.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service replica information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart": {
+ "post": {
+ "operationId": "RestartReplica",
+ "summary": "Restarts a service replica of a persisted service running on a node.",
+ "description": "Restarts a service replica of a persisted service running on a node. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to availability loss for stateful services.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete": {
+ "post": {
+ "operationId": "RemoveReplica",
+ "summary": "Removes a service replica running on a node.",
+ "description": "This API simulates a Service Fabric replica failure by removing a replica from a Service Fabric cluster. The removal closes the replica, transitions the replica to the role None, and then removes all of the state information of the replica from the cluster. This API tests the replica state removal path, and simulates the report fault permanent path through client APIs. Warning - There are no safety checks performed when this API is used. Incorrect use of this API can lead to data loss for stateful services. In addition, the forceRemove flag impacts all other replicas hosted in the same process.",
+ "tags": [
+ "Replica"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRemoveReplicaOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code. A successful operation means that the restart command was received by the replica on the node and it is in the process of restarting."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages": {
+ "get": {
+ "operationId": "GetDeployedServicePackageInfoList",
+ "summary": "Gets the list of service packages deployed on a Service Fabric node.",
+ "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service packages information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}": {
+ "get": {
+ "operationId": "GetDeployedServicePackageInfoListByName",
+ "summary": "Gets the list of service packages deployed on a Service Fabric node matching exactly the specified name.",
+ "description": "Returns the information about the service packages deployed on a Service Fabric node for the given application. These results are of service packages whose name match exactly the service package name specified as the parameter.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed service packages information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageInfoList"
+ }
+ },
+ "204": {
+ "description": "An empty response is returned if the specified service package from the application is not deployed on the node."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth": {
+ "get": {
+ "operationId": "GetDeployedServicePackageHealth",
+ "summary": "Gets the information about health of a service package for a specific application deployed for a Service Fabric node and application.",
+ "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "GetDeployedServicePackageHealthUsingPolicy",
+ "summary": "Gets the information about health of service package for a specific application deployed on a Service Fabric node using the specified policy.",
+ "description": "Gets the information about health of a service package for a specific application deployed on a Service Fabric node. using the specified policy. Use EventsHealthStateFilter to optionally filter for the collection of HealthEvent objects reported on the deployed service package based on health state. Use ApplicationHealthPolicy to optionally override the health policies used to evaluate the health. This API only uses 'ConsiderWarningAsError' field of the ApplicationHealthPolicy. The rest of the fields are ignored while evaluating the health of the deployed service package.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EventsHealthStateFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationHealthPolicyOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Service Package"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the health information of the deployed service package for a specific node and application.",
+ "schema": {
+ "$ref": "#/definitions/DeployedServicePackageHealth"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth": {
+ "post": {
+ "operationId": "ReportDeployedServicePackageHealth",
+ "summary": "Sends a health report on the Service Fabric deployed service package.",
+ "description": "Reports health state of the service package of the application deployed on a Service Fabric node. The report must contain the information about the source of the health report and property on which it is reported.\nThe report is sent to a Service Fabric gateway Service, which forwards to the health store.\nThe report may be accepted by the gateway, but rejected by the health store after extra validation.\nFor example, the health store may reject the report because of an invalid parameter, like a stale sequence number.\nTo see whether the report was applied in the health store, get deployed service package health and check that the report appears in the HealthEvents section.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServicePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/HealthInformationRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ImmediateOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/DeployServicePackage": {
+ "post": {
+ "operationId": "DeployServicePackageToNode",
+ "summary": "Downloads all of the code packages associated with specified service manifest on the specified node.",
+ "description": "This API provides a way to download code packages including the container images on a specific node outside of the normal application deployment and upgrade path. This is useful for the large code packages and container images to be present on the node before the actual application deployment and upgrade, thus significantly reducing the total time required for the deployment or upgrade.",
+ "tags": [
+ "Service Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/DeployServicePackageToNodeRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages": {
+ "get": {
+ "operationId": "GetDeployedCodePackageInfoList",
+ "summary": "Gets the list of code packages deployed on a Service Fabric node.",
+ "description": "Gets the list of code packages deployed on a Service Fabric node for the given application.",
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the list of deployed code packages information.",
+ "schema": {
+ "$ref": "#/definitions/DeployedCodePackageInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart": {
+ "post": {
+ "operationId": "RestartDeployedCodePackage",
+ "summary": "Restarts a code package deployed on a Service Fabric node in a cluster.",
+ "description": "Restarts a code package deployed on a Service Fabric node in a cluster. This aborts the code package process, which will restart all the user service replicas hosted in that process.",
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RestartDeployedCodePackageRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs": {
+ "get": {
+ "operationId": "GetContainerLogsDeployedOnNode",
+ "summary": "Gets the container logs for container deployed on a Service Fabric node.",
+ "description": "Gets the container logs for container deployed on a Service Fabric node for the given code package.",
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TailOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PreviousOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get container logs for given code package": {
+ "$ref": "./examples/GetContainerLogsDeployedOnNode-1.json"
+ },
+ "Get last 10 lines of container logs": {
+ "$ref": "./examples/GetContainerLogsDeployedOnNode-2.json"
+ },
+ "Get container logs of previous dead container for given code package": {
+ "$ref": "./examples/GetContainerLogsDeployedOnNode-3.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the container logs for container deployed on a Service Fabric node for the given code package.",
+ "schema": {
+ "$ref": "#/definitions/ContainerLogs"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi": {
+ "post": {
+ "operationId": "InvokeContainerApi",
+ "summary": "Invoke container API on a container deployed on a Service Fabric node.",
+ "description": "Invoke container API on a container deployed on a Service Fabric node for the given code package.",
+ "x-ms-examples": {
+ "Get container logs": {
+ "$ref": "./examples/InvokeContainerApi.json"
+ },
+ "Update container": {
+ "$ref": "./examples/InvokeContainerApi_Post.json"
+ }
+ },
+ "tags": [
+ "Code Package"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceManifestNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageInstanceIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContainerApiRequiredBodyParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and container API response for a container deployed on a Service Fabric node for the given code package.",
+ "schema": {
+ "$ref": "#/definitions/ContainerApiResponse"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/$/Create": {
+ "put": {
+ "summary": "Creates a Service Fabric compose deployment.",
+ "description": "Compose is a file format that describes multi-container applications. This API allows deploying container based applications defined in compose format in a Service Fabric cluster. Once the deployment is created, its status can be tracked via the `GetComposeDeploymentStatus` API.",
+ "operationId": "CreateComposeDeployment",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/CreateComposeDeploymentRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}": {
+ "get": {
+ "summary": "Gets information about a Service Fabric compose deployment.",
+ "description": "Returns the status of the compose deployment that was created or in the process of being created in the Service Fabric cluster and whose name matches the one specified as the parameter. The response includes the name, status, and other details about the deployment.",
+ "operationId": "GetComposeDeploymentStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the compose deployment.",
+ "schema": {
+ "$ref": "#/definitions/ComposeDeploymentStatusInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments": {
+ "get": {
+ "summary": "Gets the list of compose deployments created in the Service Fabric cluster.",
+ "description": "Gets the status about the compose deployments that were created or in the process of being created in the Service Fabric cluster. The response includes the name, status, and other details about the compose deployments. If the list of deployments do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page.",
+ "operationId": "GetComposeDeploymentStatusList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of status of compose deployments in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/PagedComposeDeploymentStatusInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress": {
+ "get": {
+ "summary": "Gets details for the latest upgrade performed on this Service Fabric compose deployment.",
+ "description": "Returns the information about the state of the compose deployment upgrade along with details to aid debugging application health issues.",
+ "operationId": "GetComposeDeploymentUpgradeProgress",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details about the compose deployment upgrade.",
+ "schema": {
+ "$ref": "#/definitions/ComposeDeploymentUpgradeProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/Delete": {
+ "post": {
+ "summary": "Deletes an existing Service Fabric compose deployment from cluster.",
+ "description": "Deletes an existing Service Fabric compose deployment.",
+ "operationId": "RemoveComposeDeployment",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful operation will return 202 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/Upgrade": {
+ "post": {
+ "summary": "Starts upgrading a compose deployment in the Service Fabric cluster.",
+ "description": "Validates the supplied upgrade parameters and starts upgrading the deployment if the parameters are valid.",
+ "operationId": "StartComposeDeploymentUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ComposeDeploymentUpgradeDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful response means that the upgrade has started. Use GetComposeDeploymentUpgrade operation to get the status of the upgrade."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ComposeDeployments/{deploymentName}/$/RollbackUpgrade": {
+ "post": {
+ "summary": "Starts rolling back a compose deployment upgrade in the Service Fabric cluster.",
+ "description": "Rollback a service fabric compose deployment upgrade.",
+ "operationId": "StartRollbackComposeDeploymentUpgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Compose Deployment"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the rollback has started. Use GetComposeDeploymentUpgrade operation to get the status of the rollback."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos": {
+ "get": {
+ "operationId": "GetChaos",
+ "summary": "Get the status of Chaos.",
+ "description": "Get the status of Chaos indicating whether or not Chaos is running, the Chaos parameters used for running Chaos and the status of the Chaos Schedule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the status of Chaos.",
+ "schema": {
+ "$ref": "#/definitions/Chaos"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/$/Start": {
+ "post": {
+ "operationId": "StartChaos",
+ "summary": "Starts Chaos in the cluster.",
+ "description": "If Chaos is not already running in the cluster, it starts Chaos with the passed in Chaos parameters.\nIf Chaos is already running when this call is made, the call fails with the error code FABRIC_E_CHAOS_ALREADY_RUNNING.\nRefer to the article [Induce controlled Chaos in Service Fabric clusters](https://docs.microsoft.com/azure/service-fabric/service-fabric-controlled-chaos) for more details.",
+ "tags": [
+ "Chaos"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ChaosParametersRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/$/Stop": {
+ "post": {
+ "operationId": "StopChaos",
+ "summary": "Stops Chaos if it is running in the cluster and put the Chaos Schedule in a stopped state.",
+ "description": "Stops Chaos from executing new faults. In-flight faults will continue to execute until they are complete. The current Chaos Schedule is put into a stopped state.\nOnce a schedule is stopped, it will stay in the stopped state and not be used to Chaos Schedule new runs of Chaos. A new Chaos Schedule must be set in order to resume scheduling.",
+ "tags": [
+ "Chaos"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/Events": {
+ "get": {
+ "operationId": "GetChaosEvents",
+ "summary": "Gets the next segment of the Chaos events based on the continuation token or the time range.",
+ "description": "To get the next segment of the Chaos events, you can specify the ContinuationToken. To get the start of a new segment of Chaos events, you can specify the time range\nthrough StartTimeUtc and EndTimeUtc. You cannot specify both the ContinuationToken and the time range in the same call.\nWhen there are more than 100 Chaos events, the Chaos events are returned in multiple segments where a segment contains no more than 100 Chaos events and to get the next segment you make a call to this API with the continuation token.",
+ "x-ms-examples": {
+ "Get Chaos events given a time range": {
+ "$ref": "./examples/GetChaosEvents.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "Next segment of Chaos events.",
+ "schema": {
+ "$ref": "#/definitions/ChaosEventsSegment"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Tools/Chaos/Schedule": {
+ "get": {
+ "operationId": "GetChaosSchedule",
+ "summary": "Get the Chaos Schedule defining when and how to run Chaos.",
+ "description": "Gets the version of the Chaos Schedule in use and the Chaos Schedule that defines when and how to run Chaos.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the schedule description including a Chaos Schedule used by Chaos and the version the Chaos Schedule is on.",
+ "schema": {
+ "$ref": "#/definitions/ChaosScheduleDescription"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "PostChaosSchedule",
+ "summary": "Set the schedule used by Chaos.",
+ "description": "Chaos will automatically schedule runs based on the Chaos Schedule.\nThe Chaos Schedule will be updated if the provided version matches the version on the server.\nWhen updating the Chaos Schedule, the version on the server is incremented by 1.\nThe version on the server will wrap back to 0 after reaching a large number.\nIf Chaos is running when this call is made, the call will fail.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ChaosScheduleRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "Chaos"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}": {
+ "put": {
+ "summary": "Uploads contents of the file to the image store.",
+ "description": "Uploads contents of the file to the image store. Use this API if the file is small enough to upload again if the connection fails. The file's data needs to be added to the request body. The contents will be uploaded to the specified path. Image store service uses a mark file to indicate the availability of the folder. The mark file is an empty file named \"_.dir\". The mark file is generated by the image store service when all files in a folder are uploaded. When using File-by-File approach to upload application package in REST, the image store service isn't aware of the file hierarchy of the application package; you need to create a mark file per folder and upload it last, to let the image store service know that the folder is complete.",
+ "operationId": "UploadFile",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "If the upload request succeeds, the server returns the HTTP 200 OK status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "Gets the image store content information.",
+ "description": "Returns the information about the image store content at the specified contentPath. The contentPath is relative to the root of the image store.",
+ "operationId": "GetImageStoreContent",
+ "x-ms-examples": {
+ "Get information about image store content under a given relative path": {
+ "$ref": "./examples/GetImageStoreContent.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store content information.",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreContent"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes existing image store content.",
+ "description": "Deletes existing image store content being found within the given image store relative path. This command can be used to delete uploaded application packages once they are provisioned.",
+ "operationId": "DeleteImageStoreContent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore": {
+ "get": {
+ "summary": "Gets the content information at the root of the image store.",
+ "description": "Returns the information about the image store content at the root of the image store.",
+ "operationId": "GetImageStoreRootContent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store content information.",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreContent"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/Copy": {
+ "post": {
+ "summary": "Copies image store content internally",
+ "description": "Copies the image store content from the source image store relative path to the destination image store relative path.",
+ "operationId": "CopyImageStoreContent",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreCopyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/DeleteUploadSession": {
+ "delete": {
+ "summary": "Cancels an image store upload session.",
+ "description": "The DELETE request will cause the existing upload session to expire and remove any previously uploaded file chunks.",
+ "operationId": "DeleteImageStoreUploadSession",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/CommitUploadSession": {
+ "post": {
+ "summary": "Commit an image store upload session.",
+ "description": "When all file chunks have been uploaded, the upload session needs to be committed explicitly to complete the upload. Image store preserves the upload session until the expiration time, which is 30 minutes after the last chunk received. ",
+ "operationId": "CommitImageStoreUploadSession",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "If the commit request succeeds, the server returns the HTTP 200 OK status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/GetUploadSession": {
+ "get": {
+ "summary": "Get the image store upload session by ID.",
+ "description": "Gets the image store upload session identified by the given ID. User can query the upload session at any time during uploading. ",
+ "operationId": "GetImageStoreUploadSessionById",
+ "x-ms-examples": {
+ "Get information about image store upload session by a given ID": {
+ "$ref": "./examples/GetUploadSessionById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store upload session information.",
+ "schema": {
+ "$ref": "#/definitions/UploadSession"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}/$/GetUploadSession": {
+ "get": {
+ "summary": "Get the image store upload session by relative path.",
+ "description": "Gets the image store upload session associated with the given image store relative path. User can query the upload session at any time during uploading. ",
+ "operationId": "GetImageStoreUploadSessionByPath",
+ "x-ms-examples": {
+ "Get information about image store upload session by a given relative path": {
+ "$ref": "./examples/GetUploadSessionByPath.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested image store upload session information.",
+ "schema": {
+ "$ref": "#/definitions/UploadSession"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}/$/UploadChunk": {
+ "put": {
+ "summary": "Uploads a file chunk to the image store relative path.",
+ "description": "Uploads a file chunk to the image store with the specified upload session ID and image store relative path. This API allows user to resume the file upload operation. user doesn't have to restart the file upload from scratch whenever there is a network interruption. Use this option if the file size is large.\n\nTo perform a resumable file upload, user need to break the file into multiple chunks and upload these chunks to the image store one-by-one. Chunks don't have to be uploaded in order. If the file represented by the image store relative path already exists, it will be overwritten when the upload session commits.",
+ "operationId": "UploadFileChunk",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/UploadSessionIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/UploadFileChunkContentRangeHeaderParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return the HTTP 200 OK status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/FolderSize": {
+ "get": {
+ "summary": "Get the folder size at the root of the image store.",
+ "description": "Returns the total size of files at the root and children folders in image store.",
+ "operationId": "GetImageStoreRootFolderSize",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested folder size in image store.",
+ "schema": {
+ "$ref": "#/definitions/FolderSizeInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/{contentPath}/$/FolderSize": {
+ "get": {
+ "summary": "Get the size of a folder in image store",
+ "description": "Gets the total size of file under a image store folder, specified by contentPath. The contentPath is relative to the root of the image store.",
+ "operationId": "GetImageStoreFolderSize",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ImageStoreContentPathRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested folder size in image store.",
+ "schema": {
+ "$ref": "#/definitions/FolderSizeInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/ImageStore/$/Info": {
+ "get": {
+ "summary": "Gets the overall ImageStore information",
+ "description": "Returns information about the primary ImageStore replica, such as disk capacity and available disk space at the node it is on, and several categories of the ImageStore's file system usage.",
+ "operationId": "GetImageStoreInfo",
+ "x-ms-examples": {
+ "Gets the overall ImageStore information": {
+ "$ref": "./examples/GetImageStoreInfo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-5_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "ImageStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the requested ImageStore info",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/InvokeInfrastructureCommand": {
+ "post": {
+ "operationId": "InvokeInfrastructureCommand",
+ "summary": "Invokes an administrative command on the given Infrastructure Service instance.",
+ "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific commands to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Infrastructure"
+ ],
+ "responses": {
+ "200": {
+ "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.",
+ "schema": {
+ "$ref": "#/definitions/InfrastructureServiceResponse"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/$/InvokeInfrastructureQuery": {
+ "get": {
+ "operationId": "InvokeInfrastructureQuery",
+ "summary": "Invokes a read-only query on the given infrastructure service instance.",
+ "description": "For clusters that have one or more instances of the Infrastructure Service configured,\nthis API provides a way to send infrastructure-specific queries to a particular\ninstance of the Infrastructure Service.\n\nAvailable commands and their corresponding response formats vary depending upon\nthe infrastructure on which the cluster is running.\n\nThis API supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureCommandRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/InfrastructureServiceIdOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Infrastructure"
+ ],
+ "responses": {
+ "200": {
+ "description": "The response from the infrastructure service. The response format is a JSON stream.\nThe contents of the response depend on which command was issued.",
+ "schema": {
+ "$ref": "#/definitions/InfrastructureServiceResponse"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss": {
+ "post": {
+ "operationId": "StartDataLoss",
+ "summary": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLossAsync API of the partition.",
+ "description": "This API will induce data loss for the specified partition. It will trigger a call to the OnDataLoss API of the partition.\nActual data loss will depend on the specified DataLossMode.\n\n- PartialDataLoss - Only a quorum of replicas are removed and OnDataLoss is triggered for the partition but actual data loss depends on the presence of in-flight replication.\n- FullDataLoss - All replicas are removed hence all data is lost and OnDataLoss is triggered.\n\nThis API should only be called with a stateful service as the target.\n\nCalling this API with a system service as the target is not advised.\n\nNote: Once this API has been called, it cannot be reversed. Calling CancelOperation will only stop execution and clean up internal system state.\nIt will not restore data if the command has progressed far enough to cause data loss.\n\nCall the GetDataLossProgress API with the same OperationId to return information on the operation started with this API.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DataLossModeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetDataLossProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress": {
+ "get": {
+ "summary": "Gets the progress of a partition data loss operation started using the StartDataLoss API.",
+ "description": "Gets the progress of a data loss operation started with StartDataLoss, using the OperationId.",
+ "operationId": "GetDataLossProgress",
+ "x-ms-examples": {
+ "Gets information about a partition data loss operation. In this case the operation has a State of Completed": {
+ "$ref": "./examples/GetDataLossProgress.json"
+ },
+ "Get information about a partition data loss operation. In this case the operation is a State of Running": {
+ "$ref": "./examples/GetDataLossProgress-Running.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of the partition data loss operation.",
+ "schema": {
+ "$ref": "#/definitions/PartitionDataLossProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss": {
+ "post": {
+ "operationId": "StartQuorumLoss",
+ "summary": "Induces quorum loss for a given stateful service partition.",
+ "description": "This API is useful for a temporary quorum loss situation on your service.\n\nCall the GetQuorumLossProgress API with the same OperationId to return information on the operation started with this API.\n\nThis can only be called on stateful persisted (HasPersistedState==true) services. Do not use this API on stateless services or stateful in-memory only services.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/QuorumLossModeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/QuorumLossDurationRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetQuorumLossProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress": {
+ "get": {
+ "summary": "Gets the progress of a quorum loss operation on a partition started using the StartQuorumLoss API.",
+ "description": "Gets the progress of a quorum loss operation started with StartQuorumLoss, using the provided OperationId.",
+ "operationId": "GetQuorumLossProgress",
+ "x-ms-examples": {
+ "Gets information about a completed quorum loss operation": {
+ "$ref": "./examples/GetQuorumLossProgress.json"
+ },
+ "Gets information about a running quorum operation operation": {
+ "$ref": "./examples/GetQuorumLossProgress-Running.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of a partition quorum loss operation.",
+ "schema": {
+ "$ref": "#/definitions/PartitionQuorumLossProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart": {
+ "post": {
+ "operationId": "StartPartitionRestart",
+ "summary": "This API will restart some or all replicas or instances of the specified partition.",
+ "description": "This API is useful for testing failover.\n\nIf used to target a stateless service partition, RestartPartitionMode must be AllReplicasOrInstances.\n\nCall the GetPartitionRestartProgress API using the same OperationId to get the progress.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/RestartPartitionModeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetPartitionRestartProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress": {
+ "get": {
+ "summary": "Gets the progress of a PartitionRestart operation started using StartPartitionRestart.",
+ "description": "Gets the progress of a PartitionRestart started with StartPartitionRestart using the provided OperationId.",
+ "operationId": "GetPartitionRestartProgress",
+ "x-ms-examples": {
+ "Get information a completed PartitionRestart operation": {
+ "$ref": "./examples/GetPartitionRestartProgress.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of a partition restart operation.",
+ "schema": {
+ "$ref": "#/definitions/PartitionRestartProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Nodes/{nodeName}/$/StartTransition/": {
+ "post": {
+ "operationId": "StartNodeTransition",
+ "summary": "Starts or stops a cluster node.",
+ "description": "Starts or stops a cluster node. A cluster node is a process, not the OS instance itself. To start a node, pass in \"Start\" for the NodeTransitionType parameter.\nTo stop a node, pass in \"Stop\" for the NodeTransitionType parameter. This API starts the operation - when the API returns the node may not have finished transitioning yet.\nCall GetNodeTransitionProgress with the same OperationId to get the progress of the operation.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeTransitionTypeRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeInstanceIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StopDurationInSecondsRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation was accepted. Call the GetNodeTransitionProgress API to get the progress."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/Nodes/{nodeName}/$/GetTransitionProgress": {
+ "get": {
+ "summary": "Gets the progress of an operation started using StartNodeTransition.",
+ "description": "Gets the progress of an operation started with StartNodeTransition using the provided OperationId.",
+ "operationId": "GetNodeTransitionProgress",
+ "x-ms-examples": {
+ "Gets information about a completed NodeTransition operation": {
+ "$ref": "./examples/GetNodeTransitionProgress.json"
+ },
+ "Gets information about a running NodeTransition operation": {
+ "$ref": "./examples/GetNodeTransitionProgress-Running.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Faults"
+ ],
+ "responses": {
+ "200": {
+ "description": "Information about the progress of a node transition operation.",
+ "schema": {
+ "$ref": "#/definitions/NodeTransitionProgress"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/": {
+ "get": {
+ "operationId": "GetFaultOperationList",
+ "summary": "Gets a list of user-induced fault operations filtered by provided input.",
+ "description": "Gets the list of user-induced fault operations filtered by provided input.",
+ "x-ms-examples": {
+ "Gets information on fault operations": {
+ "$ref": "./examples/GetFaultOperationList.json"
+ }
+ },
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TypeFilterRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StateFilterRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatusList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Faults/$/Cancel": {
+ "post": {
+ "operationId": "CancelOperation",
+ "summary": "Cancels a user-induced fault operation.",
+ "description": "The following APIs start fault operations that may be cancelled by using CancelOperation: StartDataLoss, StartQuorumLoss, StartPartitionRestart, StartNodeTransition.\n\nIf force is false, then the specified user-induced operation will be gracefully stopped and cleaned up. If force is true, the command will be aborted, and some internal state\nmay be left behind. Specifying force as true should be used with care. Calling this API with force set to true is not allowed until this API has already\nbeen called on the same test command with force set to false first, or unless the test command already has an OperationState of OperationState.RollingBack.\nClarification: OperationState.RollingBack means that the system will be/is cleaning up internal system state caused by executing the command. It will not restore data if the\ntest command was to cause data loss. For example, if you call StartDataLoss then call this API, the system will only clean up internal state from running the command.\nIt will not restore the target partition's data, if the command progressed far enough to cause data loss.\n\nImportant note: if this API is invoked with force==true, internal state may be left behind.",
+ "tags": [
+ "Faults"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/FaultOperationIdRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ForceRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/$/Create": {
+ "post": {
+ "operationId": "CreateBackupPolicy",
+ "summary": "Creates a backup policy.",
+ "description": "Creates a backup policy which can be associated later with a Service Fabric application, service or a partition for periodic backup.",
+ "x-ms-examples": {
+ "Create a time based backup policy with Azure as backup location": {
+ "$ref": "./examples/CreateBackupPolicy-1.json"
+ },
+ "Create a frequency based backup policy with file share as backup location": {
+ "$ref": "./examples/CreateBackupPolicy-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "201": {
+ "description": "A successful operation returns 201 status code and creates a new backup policy."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete": {
+ "post": {
+ "operationId": "DeleteBackupPolicy",
+ "summary": "Deletes the backup policy.",
+ "description": "Deletes an existing backup policy. A backup policy must be created before it can be deleted. A currently active backup policy, associated with any Service Fabric application, service or partition, cannot be deleted without first deleting the mapping.",
+ "x-ms-examples": {
+ "Delete backup policy": {
+ "$ref": "./examples/DeleteBackupPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and deletes the backup policy."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies": {
+ "get": {
+ "operationId": "GetBackupPolicyList",
+ "summary": "Gets all the backup policies configured.",
+ "description": "Get a list of all the backup policies configured.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetBackupPolicyList-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetBackupPolicyList-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and paged list of backup policies.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupPolicyDescriptionList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}": {
+ "get": {
+ "operationId": "GetBackupPolicyByName",
+ "summary": "Gets a particular backup policy by name.",
+ "description": "Gets a particular backup policy identified by {backupPolicyName}",
+ "x-ms-examples": {
+ "Get backup policy by name": {
+ "$ref": "./examples/GetBackupPolicyByName.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and the backup policy description.",
+ "schema": {
+ "$ref": "#/definitions/BackupPolicyDescription"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities": {
+ "get": {
+ "operationId": "GetAllEntitiesBackedUpByPolicy",
+ "summary": "Gets the list of backup entities that are associated with this policy.",
+ "description": "Returns a list of Service Fabric application, service or partition which are associated with this backup policy.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetAllEntitiesBackedUpByPolicy-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of Service Fabric entities that are associated with this policy.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupEntityList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update": {
+ "post": {
+ "operationId": "UpdateBackupPolicy",
+ "summary": "Updates the backup policy.",
+ "description": "Updates the backup policy identified by {backupPolicyName}",
+ "x-ms-examples": {
+ "Update backup policy": {
+ "$ref": "./examples/UpdateBackupPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BackupPolicyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and updates the backup policy description."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/EnableBackup": {
+ "post": {
+ "operationId": "EnableApplicationBackup",
+ "summary": "Enables periodic backup of stateful partitions under this Service Fabric application.",
+ "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric application. Each partition is backed up individually as per the specified backup policy description. \nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.",
+ "x-ms-examples": {
+ "Enable application backup": {
+ "$ref": "./examples/EnableApplicationBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to enable application backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/DisableBackup": {
+ "post": {
+ "operationId": "DisableApplicationBackup",
+ "summary": "Disables periodic backup of Service Fabric application.",
+ "description": "Disables periodic backup of Service Fabric application which was previously enabled.",
+ "x-ms-examples": {
+ "Disable application backup": {
+ "$ref": "./examples/DisableApplicationBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to disable application backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetBackupConfigurationInfo": {
+ "get": {
+ "operationId": "GetApplicationBackupConfigurationInfo",
+ "summary": "Gets the Service Fabric application backup configuration information.",
+ "description": "Gets the Service Fabric backup configuration information for the application and the services and partitions under this application.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationBackupConfigurationInfo-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationBackupConfigurationInfo-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the application, and the services and partitions under this application, for which backup configuration has been overridden.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupConfigurationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/GetBackups": {
+ "get": {
+ "operationId": "GetApplicationBackupList",
+ "summary": "Gets the list of backups available for every partition in this application.",
+ "description": "Returns a list of backups available for every partition in this Service Fabric application. The server enumerates all the backups available at the backup location configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.",
+ "x-ms-examples": {
+ "Get application backups within a time range": {
+ "$ref": "./examples/GetApplicationBackupList-1.json"
+ },
+ "Get latest backup": {
+ "$ref": "./examples/GetApplicationBackupList-2.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetApplicationBackupList-3.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetApplicationBackupList-4.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/LatestOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/SuspendBackup": {
+ "post": {
+ "operationId": "SuspendApplicationBackup",
+ "summary": "Suspends periodic backup for the specified Service Fabric application.",
+ "description": "The application which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire application's hierarchy. It means all the services and partitions under this application are now suspended for backup.",
+ "x-ms-examples": {
+ "Suspend application backup": {
+ "$ref": "./examples/SuspendApplicationBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and application backup will be suspended."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Applications/{applicationId}/$/ResumeBackup": {
+ "post": {
+ "operationId": "ResumeApplicationBackup",
+ "summary": "Resumes periodic backup of a Service Fabric application which was previously suspended.",
+ "description": "The previously suspended Service Fabric application resumes taking periodic backup as per the backup policy currently configured for the same.",
+ "x-ms-examples": {
+ "Resume application backup": {
+ "$ref": "./examples/ResumeApplicationBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and application backup will be resumed."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/EnableBackup": {
+ "post": {
+ "operationId": "EnableServiceBackup",
+ "summary": "Enables periodic backup of stateful partitions under this Service Fabric service.",
+ "description": "Enables periodic backup of stateful partitions which are part of this Service Fabric service. Each partition is backed up individually as per the specified backup policy description. In case the application, which the service is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup for this service and its partitions (unless explicitly overridden at the partition level).\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.",
+ "x-ms-examples": {
+ "Enable service backup": {
+ "$ref": "./examples/EnableServiceBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to enable service backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/DisableBackup": {
+ "post": {
+ "operationId": "DisableServiceBackup",
+ "summary": "Disables periodic backup of Service Fabric service which was previously enabled.",
+ "description": "Disables periodic backup of Service Fabric service which was previously enabled. Backup must be explicitly enabled before it can be disabled.\nIn case the backup is enabled for the Service Fabric application, which this service is part of, this service would continue to be periodically backed up as per the policy mapped at the application level.",
+ "x-ms-examples": {
+ "Disable service backup": {
+ "$ref": "./examples/DisableServiceBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to disable service backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetBackupConfigurationInfo": {
+ "get": {
+ "operationId": "GetServiceBackupConfigurationInfo",
+ "summary": "Gets the Service Fabric service backup configuration information.",
+ "description": "Gets the Service Fabric backup configuration information for the service and the partitions under this service.",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetServiceBackupConfigurationInfo-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetServiceBackupConfigurationInfo-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup configuration information for the service, and the partitions under this service, for which backup configuration has been overridden.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupConfigurationInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/GetBackups": {
+ "get": {
+ "operationId": "GetServiceBackupList",
+ "summary": "Gets the list of backups available for every partition in this service.",
+ "description": "Returns a list of backups available for every partition in this Service Fabric service. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for every partition.",
+ "x-ms-examples": {
+ "Get application backups within a time range": {
+ "$ref": "./examples/GetServiceBackupList-1.json"
+ },
+ "Get latest backup": {
+ "$ref": "./examples/GetServiceBackupList-2.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetServiceBackupList-3.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetServiceBackupList-4.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/LatestOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/SuspendBackup": {
+ "post": {
+ "operationId": "SuspendServiceBackup",
+ "summary": "Suspends periodic backup for the specified Service Fabric service.",
+ "description": "The service which is configured to take periodic backups, is suspended for taking further backups till it is resumed again. This operation applies to the entire service's hierarchy. It means all the partitions under this service are now suspended for backup.",
+ "x-ms-examples": {
+ "Suspend service backup": {
+ "$ref": "./examples/SuspendServiceBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and service backup will be suspended."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Services/{serviceId}/$/ResumeBackup": {
+ "post": {
+ "operationId": "ResumeServiceBackup",
+ "summary": "Resumes periodic backup of a Service Fabric service which was previously suspended.",
+ "description": "The previously suspended Service Fabric service resumes taking periodic backup as per the backup policy currently configured for the same.",
+ "x-ms-examples": {
+ "Resume service backup": {
+ "$ref": "./examples/ResumeServiceBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and service backup will be resumed."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/EnableBackup": {
+ "post": {
+ "operationId": "EnablePartitionBackup",
+ "summary": "Enables periodic backup of the stateful persisted partition.",
+ "description": "Enables periodic backup of stateful persisted partition. Each partition is backed up as per the specified backup policy description. In case the application or service, which is partition is part of, is already enabled for backup then this operation would override the policy being used to take the periodic backup of this partition.\nNote only C# based Reliable Actor and Reliable Stateful services are currently supported for periodic backup.",
+ "x-ms-examples": {
+ "Enable partition backup": {
+ "$ref": "./examples/EnablePartitionBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/EnableBackupDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to enable partition backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/DisableBackup": {
+ "post": {
+ "operationId": "DisablePartitionBackup",
+ "summary": "Disables periodic backup of Service Fabric partition which was previously enabled.",
+ "description": "Disables periodic backup of partition which was previously enabled. Backup must be explicitly enabled before it can be disabled. \nIn case the backup is enabled for the Service Fabric application or service, which this partition is part of, this partition would continue to be periodically backed up as per the policy mapped at the higher level entity.",
+ "x-ms-examples": {
+ "Disable partition backup": {
+ "$ref": "./examples/DisablePartitionBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/DisableBackupDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the request to disable partition backup has been accepted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetBackupConfigurationInfo": {
+ "get": {
+ "operationId": "GetPartitionBackupConfigurationInfo",
+ "summary": "Gets the partition backup configuration information",
+ "description": "Gets the Service Fabric Backup configuration information for the specified partition.",
+ "x-ms-examples": {
+ "Get partition backup configuration information": {
+ "$ref": "./examples/GetPartitionBackupConfigurationInfo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and gets the partition's backup configuration information.",
+ "schema": {
+ "$ref": "#/definitions/PartitionBackupConfigurationInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetBackups": {
+ "get": {
+ "operationId": "GetPartitionBackupList",
+ "summary": "Gets the list of backups available for the specified partition.",
+ "description": "Returns a list of backups available for the specified partition. The server enumerates all the backups available in the backup store configured in the backup policy. It also allows filtering of the result based on start and end datetime or just fetching the latest available backup for the partition.",
+ "x-ms-examples": {
+ "Get application backups within a time range": {
+ "$ref": "./examples/GetPartitionBackupList-1.json"
+ },
+ "Get latest backup": {
+ "$ref": "./examples/GetPartitionBackupList-2.json"
+ },
+ "Limit maximum results": {
+ "$ref": "./examples/GetPartitionBackupList-3.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetPartitionBackupList-4.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/LatestOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartDateTimeFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndDateTimeFilterOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/SuspendBackup": {
+ "post": {
+ "operationId": "SuspendPartitionBackup",
+ "summary": "Suspends periodic backup for the specified partition.",
+ "description": "The partition which is configured to take periodic backups, is suspended for taking further backups till it is resumed again.",
+ "x-ms-examples": {
+ "Suspend partition backup": {
+ "$ref": "./examples/SuspendPartitionBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and partition backup will be suspended."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/ResumeBackup": {
+ "post": {
+ "operationId": "ResumePartitionBackup",
+ "summary": "Resumes periodic backup of partition which was previously suspended.",
+ "description": "The previously suspended partition resumes taking periodic backup as per the backup policy currently configured for the same.",
+ "x-ms-examples": {
+ "Resume partition backup": {
+ "$ref": "./examples/ResumePartitionBackup.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and partition backup will be resumed."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/Backup": {
+ "post": {
+ "operationId": "BackupPartition",
+ "summary": "Triggers backup of the partition's state.",
+ "description": "Creates a backup of the stateful persisted partition's state. In case the partition is already being periodically backed up, then by default the new backup is created at the same backup storage. One can also override the same by specifying the backup storage details as part of the request body. Once the backup is initiated, its progress can be tracked using the GetBackupProgress operation. \nIn case, the operation times out, specify a greater backup timeout value in the query parameter.",
+ "x-ms-examples": {
+ "Backup partition": {
+ "$ref": "./examples/BackupPartition-1.json"
+ },
+ "Backup partition to a specific Azure storage account": {
+ "$ref": "./examples/BackupPartition-2.json"
+ },
+ "Backup partition to a specific on-premise file share": {
+ "$ref": "./examples/BackupPartition-3.json"
+ }
+ },
+ "tags": [
+ "BackupRestore"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/BackupPartitionDescriptionOptionalBodyParam"
+ },
+ {
+ "$ref": "#/parameters/BackupTimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and backup will be initiated. Use GetPartitionBackupProgress operation to get the status of the backup operation."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetBackupProgress": {
+ "get": {
+ "operationId": "GetPartitionBackupProgress",
+ "summary": "Gets details for the latest backup triggered for this partition.",
+ "description": "Returns information about the state of the latest backup along with details or failure reason in case of completion.",
+ "x-ms-examples": {
+ "Get backup operation progress": {
+ "$ref": "./examples/GetPartitionBackupProgress.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and backup progress details.",
+ "schema": {
+ "$ref": "#/definitions/BackupProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/Restore": {
+ "post": {
+ "operationId": "RestorePartition",
+ "summary": "Triggers restore of the state of the partition using the specified restore partition description.",
+ "description": "Restores the state of a of the stateful persisted partition using the specified backup point. In case the partition is already being periodically backed up, then by default the backup point is looked for in the storage specified in backup policy. One can also override the same by specifying the backup storage details as part of the restore partition description in body. Once the restore is initiated, its progress can be tracked using the GetRestoreProgress operation. \nIn case, the operation times out, specify a greater restore timeout value in the query parameter.",
+ "x-ms-examples": {
+ "Trigger partition restore": {
+ "$ref": "./examples/RestorePartition.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RestorePartitionDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/RestoreTimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "202": {
+ "description": "A 202 status code indicates the operation request was accepted and restore will be initiated. Use GetPartitionRestoreProgress operation to get the status of the restore operation."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Partitions/{partitionId}/$/GetRestoreProgress": {
+ "get": {
+ "operationId": "GetPartitionRestoreProgress",
+ "summary": "Gets details for the latest restore operation triggered for this partition.",
+ "description": "Returns information about the state of the latest restore operation along with details or failure reason in case of completion.",
+ "x-ms-examples": {
+ "Get restore operation progress": {
+ "$ref": "./examples/GetPartitionRestoreProgress.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation returns 200 status code and restore progress details.",
+ "schema": {
+ "$ref": "#/definitions/RestoreProgressInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/BackupRestore/$/GetBackups": {
+ "post": {
+ "operationId": "GetBackupsFromBackupLocation",
+ "summary": "Gets the list of backups available for the specified backed up entity at the specified backup location.",
+ "description": "Gets the list of backups available for the specified backed up entity (Application, Service or Partition) at the specified backup location (FileShare or Azure Blob Storage).",
+ "x-ms-examples": {
+ "Limit maximum results": {
+ "$ref": "./examples/GetBackupsFromBackupLocation-1.json"
+ },
+ "Page using continuation token": {
+ "$ref": "./examples/GetBackupsFromBackupLocation-2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/MaxResultsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GetBackupByStorageQueryDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "BackupRestore"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful operation will return 200 status code and a paged list of backup information.",
+ "schema": {
+ "$ref": "#/definitions/PagedBackupInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/$/Create": {
+ "post": {
+ "summary": "Creates a Service Fabric name.",
+ "description": "Creates the specified Service Fabric name.",
+ "operationId": "CreateName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Create new name": {
+ "$ref": "examples/CreateName-1.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "201": {
+ "description": "A successful response means that the name has been created."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}": {
+ "get": {
+ "summary": "Returns whether the Service Fabric name exists.",
+ "description": "Returns whether the specified Service Fabric name exists.",
+ "operationId": "GetNameExistsInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the Service Fabric name exists."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes a Service Fabric name.",
+ "description": "Deletes the specified Service Fabric name. A name must be created before it can be deleted. Deleting a name with child properties will fail.",
+ "operationId": "DeleteName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the Service Fabric name has been deleted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetSubNames": {
+ "get": {
+ "summary": "Enumerates all the Service Fabric names under a given name.",
+ "description": "Enumerates all the Service Fabric names under a given name. If the subnames do not fit in a page, one page of results is returned as well as a continuation token, which can be used to get the next page. Querying a name that doesn't exist will fail.",
+ "operationId": "GetSubNameInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/RecursiveOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get sub names": {
+ "$ref": "examples/GetSubNameInfoList-1.json"
+ },
+ "Recursively search sub names": {
+ "$ref": "examples/GetSubNameInfoList-2.json"
+ },
+ "Page using continuation token": {
+ "$ref": "examples/GetSubNameInfoList-3.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A paged list of Service Fabric names.",
+ "schema": {
+ "$ref": "#/definitions/PagedSubNameInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetProperties": {
+ "get": {
+ "summary": "Gets information on all Service Fabric properties under a given name.",
+ "description": "A Service Fabric name can have one or more named properties that store custom information. This operation gets the information about these properties in a paged list. The information includes name, value, and metadata about each of the properties.",
+ "operationId": "GetPropertyInfoList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/IncludeValuesOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ContinuationTokenOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get property info list": {
+ "$ref": "examples/GetPropertyInfoList-1.json"
+ },
+ "Get property info list with values": {
+ "$ref": "examples/GetPropertyInfoList-2.json"
+ },
+ "Page using continuation token": {
+ "$ref": "examples/GetPropertyInfoList-3.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A paged list of Service Fabric properties.",
+ "schema": {
+ "$ref": "#/definitions/PagedPropertyInfoList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetProperty": {
+ "put": {
+ "summary": "Creates or updates a Service Fabric property.",
+ "description": "Creates or updates the specified Service Fabric property under a given name.",
+ "operationId": "PutProperty",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyDescriptionRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Put property": {
+ "$ref": "examples/PutProperty-1.json"
+ },
+ "Put custom property": {
+ "$ref": "examples/PutProperty-2.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the property has been created or updated."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "Gets the specified Service Fabric property.",
+ "description": "Gets the specified Service Fabric property under a given name. This will always return both value and metadata.",
+ "operationId": "GetPropertyInfo",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Get property info": {
+ "$ref": "examples/GetPropertyInfo-1.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details on the Service Fabric property.",
+ "schema": {
+ "$ref": "#/definitions/PropertyInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Deletes the specified Service Fabric property.",
+ "description": "Deletes the specified Service Fabric property under a given name. A property must be created before it can be deleted.",
+ "operationId": "DeleteProperty",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyNameRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the property has been deleted."
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Names/{nameId}/$/GetProperties/$/SubmitBatch": {
+ "post": {
+ "summary": "Submits a property batch.",
+ "description": "Submits a batch of property operations. Either all or none of the operations will be committed.",
+ "operationId": "SubmitPropertyBatch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NameIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/PropertyBatchDescriptionListRequiredBodyParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "x-ms-examples": {
+ "Property batch operation": {
+ "$ref": "examples/SubmitPropertyBatch-1.json"
+ }
+ },
+ "tags": [
+ "Property Management"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response means that the property batch succeeded.",
+ "schema": {
+ "$ref": "#/definitions/SuccessfulPropertyBatchInfo"
+ }
+ },
+ "409": {
+ "description": "A 409 response means that one of the property batch operations failed, and contains more information about the failure. None of the operations were committed.",
+ "schema": {
+ "$ref": "#/definitions/FailedPropertyBatchInfo"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Cluster/Events": {
+ "get": {
+ "summary": "Gets all Cluster-related events.",
+ "description": "The response is list of ClusterEvent objects.",
+ "operationId": "GetClusterEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Cluster-related events": {
+ "$ref": "./examples/GetClusterEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ClusterEvent.",
+ "schema": {
+ "$ref": "#/definitions/ClusterEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Containers/Events": {
+ "get": {
+ "summary": "Gets all Containers-related events.",
+ "description": "The response is list of ContainerInstanceEvent objects.",
+ "operationId": "GetContainersEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-2-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ContainerInstanceEvent.",
+ "schema": {
+ "$ref": "#/definitions/ContainerInstanceEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Nodes/{nodeName}/$/Events": {
+ "get": {
+ "summary": "Gets a Node-related events.",
+ "description": "The response is list of NodeEvent objects.",
+ "operationId": "GetNodeEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NodeNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Node-related events": {
+ "$ref": "./examples/GetNodeEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type NodeEvent.",
+ "schema": {
+ "$ref": "#/definitions/NodeEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Nodes/Events": {
+ "get": {
+ "summary": "Gets all Nodes-related Events.",
+ "description": "The response is list of NodeEvent objects.",
+ "operationId": "GetNodesEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Nodes-related events": {
+ "$ref": "./examples/GetNodesEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type NodeEvent.",
+ "schema": {
+ "$ref": "#/definitions/NodeEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Applications/{applicationId}/$/Events": {
+ "get": {
+ "summary": "Gets an Application-related events.",
+ "description": "The response is list of ApplicationEvent objects.",
+ "operationId": "GetApplicationEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Application-related events": {
+ "$ref": "./examples/GetApplicationEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ApplicationEvent.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Applications/Events": {
+ "get": {
+ "summary": "Gets all Applications-related events.",
+ "description": "The response is list of ApplicationEvent objects.",
+ "operationId": "GetApplicationsEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Applications-related events": {
+ "$ref": "./examples/GetApplicationsEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ApplicationEvent.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Services/{serviceId}/$/Events": {
+ "get": {
+ "summary": "Gets a Service-related events.",
+ "description": "The response is list of ServiceEvent objects.",
+ "operationId": "GetServiceEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Service-related events": {
+ "$ref": "./examples/GetServiceEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ServiceEvent.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Services/Events": {
+ "get": {
+ "summary": "Gets all Services-related events.",
+ "description": "The response is list of ServiceEvent objects.",
+ "operationId": "GetServicesEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Services-related events": {
+ "$ref": "./examples/GetServicesEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ServiceEvent.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/{partitionId}/$/Events": {
+ "get": {
+ "summary": "Gets a Partition-related events.",
+ "description": "The response is list of PartitionEvent objects.",
+ "operationId": "GetPartitionEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partition-related events": {
+ "$ref": "./examples/GetPartitionEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type PartitionEvent.",
+ "schema": {
+ "$ref": "#/definitions/PartitionEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/Events": {
+ "get": {
+ "summary": "Gets all Partitions-related events.",
+ "description": "The response is list of PartitionEvent objects.",
+ "operationId": "GetPartitionsEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partitions-related events": {
+ "$ref": "./examples/GetPartitionsEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type PartitionEvent.",
+ "schema": {
+ "$ref": "#/definitions/PartitionEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events": {
+ "get": {
+ "summary": "Gets a Partition Replica-related events.",
+ "description": "The response is list of ReplicaEvent objects.",
+ "operationId": "GetPartitionReplicaEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partition Replica-related events": {
+ "$ref": "./examples/GetReplicaEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ReplicaEvent.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/Partitions/{partitionId}/$/Replicas/Events": {
+ "get": {
+ "summary": "Gets all Replicas-related events for a Partition.",
+ "description": "The response is list of ReplicaEvent objects.",
+ "operationId": "GetPartitionReplicasEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/PartitionIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/StartTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EndTimeUtcRequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventsTypesFilterOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ExcludeAnalysisEventsOptionalQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SkipCorrelationLookupOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Partition Replicas-related events": {
+ "$ref": "./examples/GetReplicasEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type ReplicaEvent.",
+ "schema": {
+ "$ref": "#/definitions/ReplicaEventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events": {
+ "get": {
+ "summary": "Gets all correlated events for a given event.",
+ "description": "The response is list of FabricEvents.",
+ "operationId": "GetCorrelatedEventList",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/EventInstanceIdRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TimeoutOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "EventsStore"
+ ],
+ "x-ms-examples": {
+ "Get Correlated events": {
+ "$ref": "./examples/GetCorrelatedEventList.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of events objects with base type FabricEvent.",
+ "schema": {
+ "$ref": "#/definitions/EventList"
+ }
+ },
+ "default": {
+ "description": "The detailed error response.",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}": {
+ "put": {
+ "operationId": "MeshSecret_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshSecret": {
+ "$ref": "./examples/Resources/Secrets/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Secret resource.",
+ "description": "Creates a Secret resource with the specified name, description and properties. If Secret resource with the same name exists, then it is updated with the specified description and properties. Once created, the kind and contentType of a secret resource cannot be updated.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshSecret_Get",
+ "x-ms-examples": {
+ "GetSecretResource": {
+ "$ref": "./examples/Resources/Secrets/get.json"
+ }
+ },
+ "summary": "Gets the Secret resource with the given name.",
+ "description": "Gets the information about the Secret resource with the given name. The information include the description and other properties of the Secret.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshSecret_Delete",
+ "x-ms-examples": {
+ "DeleteSecretResource": {
+ "$ref": "./examples/Resources/Secrets/delete.json"
+ }
+ },
+ "summary": "Deletes the Secret resource.",
+ "description": "Deletes the specified Secret resource and all of its named values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified secret was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets": {
+ "get": {
+ "operationId": "MeshSecret_List",
+ "x-ms-examples": {
+ "ListMeshSecrets": {
+ "$ref": "./examples/Resources/Secrets/list.json"
+ }
+ },
+ "summary": "Lists all the secret resources.",
+ "description": "Gets the information about all secret resources in a given resource group. The information include the description and other properties of the Secret.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshSecrets"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedSecretResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}": {
+ "put": {
+ "operationId": "MeshSecretValue_AddValue",
+ "x-ms-examples": {
+ "CreateMeshSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/create.json"
+ }
+ },
+ "summary": "Adds the specified value as a new version of the specified secret resource.",
+ "description": "Creates a new value of the specified secret resource. The name of the value is typically the version identifier. Once created the value cannot be changed.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshSecretValue_Get",
+ "x-ms-examples": {
+ "GetMeshSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/get.json"
+ }
+ },
+ "summary": "Gets the specified secret value resource.",
+ "description": "Get the information about the specified named secret value resources. The information does not include the actual value of the secret.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshSecretValue_Delete",
+ "x-ms-examples": {
+ "DeleteSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/delete.json"
+ }
+ },
+ "summary": "Deletes the specified value of the named secret resource.",
+ "description": "Deletes the secret value resource identified by the name. The name of the resource is typically the version associated with that value. Deletion will fail if the specified value is in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified secret value was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}/values": {
+ "get": {
+ "operationId": "MeshSecretValue_List",
+ "x-ms-examples": {
+ "ListMeshSecretValues": {
+ "$ref": "./examples/Resources/Secrets/values/list.json"
+ }
+ },
+ "summary": "List names of all values of the specified secret resource.",
+ "description": "Gets information about all secret value resources of the specified secret resource. The information includes the names of the secret value resources, but not the actual values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedSecretValueResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Secrets/{secretResourceName}/values/{secretValueResourceName}/list_value": {
+ "post": {
+ "operationId": "MeshSecretValue_Show",
+ "x-ms-examples": {
+ "ListMeshSecretValue": {
+ "$ref": "./examples/Resources/Secrets/values/list_value.json"
+ }
+ },
+ "summary": "Lists the specified value of the secret resource.",
+ "description": "Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/SecretResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/SecretValueResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshSecretValues"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SecretValue"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Volumes/{volumeResourceName}": {
+ "put": {
+ "operationId": "MeshVolume_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshVolume": {
+ "$ref": "./examples/Resources/Volumes/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Volume resource.",
+ "description": "Creates a Volume resource with the specified name, description and properties. If Volume resource with the same name exists, then it is updated with the specified description and properties.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshVolume_Get",
+ "x-ms-examples": {
+ "GetVolumeResource": {
+ "$ref": "./examples/Resources/Volumes/get.json"
+ }
+ },
+ "summary": "Gets the Volume resource with the given name.",
+ "description": "Gets the information about the Volume resource with the given name. The information include the description and other properties of the Volume.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshVolume_Delete",
+ "x-ms-examples": {
+ "DeleteVolumeResource": {
+ "$ref": "./examples/Resources/Volumes/delete.json"
+ }
+ },
+ "summary": "Deletes the Volume resource.",
+ "description": "Deletes the Volume resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/VolumeResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified volume was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Volumes": {
+ "get": {
+ "operationId": "MeshVolume_List",
+ "x-ms-examples": {
+ "ListMeshVolumes": {
+ "$ref": "./examples/Resources/Volumes/list.json"
+ }
+ },
+ "summary": "Lists all the volume resources.",
+ "description": "Gets the information about all volume resources in a given resource group. The information include the description and other properties of the Volume.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshVolumes"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedVolumeResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Networks/{networkResourceName}": {
+ "put": {
+ "operationId": "MeshNetwork_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshNetwork": {
+ "$ref": "./examples/Resources/Networks/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Network resource.",
+ "description": "Creates a Network resource with the specified name, description and properties. If Network resource with the same name exists, then it is updated with the specified description and properties. Network resource provides connectivity between application services.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshNetwork_Get",
+ "x-ms-examples": {
+ "GetNetworkResource": {
+ "$ref": "./examples/Resources/Networks/get.json"
+ }
+ },
+ "summary": "Gets the Network resource with the given name.",
+ "description": "Gets the information about the Network resource with the given name. The information include the description and other properties of the Network.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshNetwork_Delete",
+ "x-ms-examples": {
+ "DeleteNetworkResource": {
+ "$ref": "./examples/Resources/Networks/delete.json"
+ }
+ },
+ "summary": "Deletes the Network resource.",
+ "description": "Deletes the Network resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/NetworkResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified network was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Networks": {
+ "get": {
+ "operationId": "MeshNetwork_List",
+ "x-ms-examples": {
+ "ListMeshNetworks": {
+ "$ref": "./examples/Resources/Networks/list.json"
+ }
+ },
+ "summary": "Lists all the network resources.",
+ "description": "Gets the information about all network resources in a given resource group. The information include the description and other properties of the Network.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshNetworks"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedNetworkResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}": {
+ "put": {
+ "operationId": "MeshApplication_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshApplication": {
+ "$ref": "./examples/Resources/Applications/create_update.json"
+ },
+ "CreateOrUpdateMeshApplicationWithAutoScale": {
+ "$ref": "./examples/Resources/Applications/create_update.autoscale.json"
+ }
+ },
+ "summary": "Creates or updates a Application resource.",
+ "description": "Creates a Application resource with the specified name, description and properties. If Application resource with the same name exists, then it is updated with the specified description and properties.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshApplication_Get",
+ "x-ms-examples": {
+ "GetApplicationResource": {
+ "$ref": "./examples/Resources/Applications/get.json"
+ }
+ },
+ "summary": "Gets the Application resource with the given name.",
+ "description": "Gets the information about the Application resource with the given name. The information include the description and other properties of the Application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshApplication_Delete",
+ "x-ms-examples": {
+ "DeleteApplicationResource": {
+ "$ref": "./examples/Resources/Applications/delete.json"
+ }
+ },
+ "summary": "Deletes the Application resource.",
+ "description": "Deletes the Application resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified application was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications": {
+ "get": {
+ "operationId": "MeshApplication_List",
+ "x-ms-examples": {
+ "ListMeshApplications": {
+ "$ref": "./examples/Resources/Applications/list.json"
+ }
+ },
+ "summary": "Lists all the application resources.",
+ "description": "Gets the information about all application resources in a given resource group. The information include the description and other properties of the Application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedApplicationResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/$/GetUpgradeProgress": {
+ "get": {
+ "operationId": "MeshApplication_GetUpgradeProgress",
+ "x-ms-examples": {
+ "GetApplicationResourceUpgrade": {
+ "$ref": "./examples/Resources/Applications/get_upgrade.json"
+ }
+ },
+ "summary": "Gets the progress of the latest upgrade performed on this application resource.",
+ "description": "Gets the upgrade progress information about the Application resource with the given name. The information include percentage of completion and other upgrade state information of the Application resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_7-0_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshApplications"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceUpgradeProgressInfo"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}": {
+ "get": {
+ "operationId": "MeshService_Get",
+ "x-ms-examples": {
+ "GetServiceResource": {
+ "$ref": "./examples/Resources/Applications/Services/get.json"
+ }
+ },
+ "summary": "Gets the Service resource with the given name.",
+ "description": "Gets the information about the Service resource with the given name. The information include the description and other properties of the Service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServices"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services": {
+ "get": {
+ "operationId": "MeshService_List",
+ "x-ms-examples": {
+ "ListMeshServices": {
+ "$ref": "./examples/Resources/Applications/Services/list.json"
+ }
+ },
+ "summary": "Lists all the service resources.",
+ "description": "Gets the information about all services of an application resource. The information include the description and other properties of the Service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServices"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedServiceResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}/CodePackages/{codePackageName}/Logs": {
+ "get": {
+ "operationId": "MeshCodePackage_GetContainerLogs",
+ "x-ms-examples": {
+ "GetContainerLogs": {
+ "$ref": "./examples/Resources/Applications/Services/Replicas/CodePackages/get_logs.json"
+ }
+ },
+ "summary": "Gets the logs from the container.",
+ "description": "Gets the logs for the container of the specified code package of the service replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/CodePackageNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/TailOptionalQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshCodePackages"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerLogs"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas/{replicaName}": {
+ "get": {
+ "operationId": "MeshServiceReplica_Get",
+ "x-ms-examples": {
+ "GetServiceReplica": {
+ "$ref": "./examples/Resources/Applications/Services/Replicas/get.json"
+ }
+ },
+ "summary": "Gets the given replica of the service of an application.",
+ "description": "Gets the information about the service replica with the given name. The information include the description and other properties of the service replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ReplicaNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServiceReplicas"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServiceReplicaDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Applications/{applicationResourceName}/Services/{serviceResourceName}/Replicas": {
+ "get": {
+ "operationId": "MeshServiceReplica_List",
+ "x-ms-examples": {
+ "ListMeshServiceReplicas": {
+ "$ref": "./examples/Resources/Applications/Services/Replicas/list.json"
+ }
+ },
+ "summary": "Lists all the replicas of a service.",
+ "description": "Gets the information about all replicas of a service. The information include the description and other properties of the service replica.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/ApplicationResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/ServiceResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshServiceReplicas"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedServiceReplicaDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Gateways/{gatewayResourceName}": {
+ "put": {
+ "operationId": "MeshGateway_CreateOrUpdate",
+ "x-ms-examples": {
+ "CreateOrUpdateMeshGateway": {
+ "$ref": "./examples/Resources/Gateways/create_update.json"
+ }
+ },
+ "summary": "Creates or updates a Gateway resource.",
+ "description": "Creates a Gateway resource with the specified name, description and properties. If Gateway resource with the same name exists, then it is updated with the specified description and properties. Use Gateway resource to provide public connectivity to application services.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceNameRequiredPathParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceDescriptionRequiredBodyParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "MeshGateway_Get",
+ "x-ms-examples": {
+ "GetGatewayResource": {
+ "$ref": "./examples/Resources/Gateways/get.json"
+ }
+ },
+ "summary": "Gets the Gateway resource with the given name.",
+ "description": "Gets the information about the Gateway resource with the given name. The information include the description and other properties of the Gateway.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MeshGateway_Delete",
+ "x-ms-examples": {
+ "DeleteGatewayResource": {
+ "$ref": "./examples/Resources/Gateways/delete.json"
+ }
+ },
+ "summary": "Deletes the Gateway resource.",
+ "description": "Deletes the Gateway resource identified by the name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ },
+ {
+ "$ref": "#/parameters/GatewayResourceNameRequiredPathParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content - the specified gateway was not found."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ },
+ "/Resources/Gateways": {
+ "get": {
+ "operationId": "MeshGateway_List",
+ "x-ms-examples": {
+ "ListMeshGateways": {
+ "$ref": "./examples/Resources/Gateways/list.json"
+ }
+ },
+ "summary": "Lists all the gateway resources.",
+ "description": "Gets the information about all gateway resources in a given resource group. The information include the description and other properties of the Gateway.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion_6-4-Preview_RequiredQueryParam"
+ }
+ ],
+ "tags": [
+ "MeshGateways"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PagedGatewayResourceDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/FabricError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "HealthState": {
+ "type": "string",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.",
+ "enum": [
+ "Invalid",
+ "Ok",
+ "Warning",
+ "Error",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid health state. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Ok",
+ "description": "Indicates the health state is okay. The value is 1."
+ },
+ {
+ "value": "Warning",
+ "description": "Indicates the health state is at a warning level. The value is 2."
+ },
+ {
+ "value": "Error",
+ "description": "Indicates the health state is at an error level. Error health state should be investigated, as they can impact the correct functionality of the cluster. The value is 3."
+ },
+ {
+ "value": "Unknown",
+ "description": "Indicates an unknown health status. The value is 65535."
+ }
+ ]
+ }
+ },
+ "FabricErrorCodes": {
+ "type": "string",
+ "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\"",
+ "enum": [
+ "FABRIC_E_INVALID_PARTITION_KEY",
+ "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR",
+ "FABRIC_E_INVALID_ADDRESS",
+ "FABRIC_E_APPLICATION_NOT_UPGRADING",
+ "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR",
+ "FABRIC_E_FABRIC_NOT_UPGRADING",
+ "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR",
+ "FABRIC_E_INVALID_CONFIGURATION",
+ "FABRIC_E_INVALID_NAME_URI",
+ "FABRIC_E_PATH_TOO_LONG",
+ "FABRIC_E_KEY_TOO_LARGE",
+ "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED",
+ "FABRIC_E_INVALID_ATOMIC_GROUP",
+ "FABRIC_E_VALUE_EMPTY",
+ "FABRIC_E_NODE_NOT_FOUND",
+ "FABRIC_E_APPLICATION_TYPE_NOT_FOUND",
+ "FABRIC_E_APPLICATION_NOT_FOUND",
+ "FABRIC_E_SERVICE_TYPE_NOT_FOUND",
+ "FABRIC_E_SERVICE_DOES_NOT_EXIST",
+ "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND",
+ "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND",
+ "FABRIC_E_PARTITION_NOT_FOUND",
+ "FABRIC_E_REPLICA_DOES_NOT_EXIST",
+ "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST",
+ "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND",
+ "FABRIC_E_DIRECTORY_NOT_FOUND",
+ "FABRIC_E_FABRIC_VERSION_NOT_FOUND",
+ "FABRIC_E_FILE_NOT_FOUND",
+ "FABRIC_E_NAME_DOES_NOT_EXIST",
+ "FABRIC_E_PROPERTY_DOES_NOT_EXIST",
+ "FABRIC_E_ENUMERATION_COMPLETED",
+ "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND",
+ "FABRIC_E_KEY_NOT_FOUND",
+ "FABRIC_E_HEALTH_ENTITY_NOT_FOUND",
+ "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS",
+ "FABRIC_E_APPLICATION_ALREADY_EXISTS",
+ "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION",
+ "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS",
+ "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS",
+ "FABRIC_E_SERVICE_ALREADY_EXISTS",
+ "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS",
+ "FABRIC_E_APPLICATION_TYPE_IN_USE",
+ "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION",
+ "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS",
+ "FABRIC_E_FABRIC_VERSION_IN_USE",
+ "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS",
+ "FABRIC_E_NAME_ALREADY_EXISTS",
+ "FABRIC_E_NAME_NOT_EMPTY",
+ "FABRIC_E_PROPERTY_CHECK_FAILED",
+ "FABRIC_E_SERVICE_METADATA_MISMATCH",
+ "FABRIC_E_SERVICE_TYPE_MISMATCH",
+ "FABRIC_E_HEALTH_STALE_REPORT",
+ "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED",
+ "FABRIC_E_NODE_HAS_NOT_STOPPED_YET",
+ "FABRIC_E_INSTANCE_ID_MISMATCH",
+ "FABRIC_E_VALUE_TOO_LARGE",
+ "FABRIC_E_NO_WRITE_QUORUM",
+ "FABRIC_E_NOT_PRIMARY",
+ "FABRIC_E_NOT_READY",
+ "FABRIC_E_RECONFIGURATION_PENDING",
+ "FABRIC_E_SERVICE_OFFLINE",
+ "E_ABORT",
+ "FABRIC_E_COMMUNICATION_ERROR",
+ "FABRIC_E_OPERATION_NOT_COMPLETE",
+ "FABRIC_E_TIMEOUT",
+ "FABRIC_E_NODE_IS_UP",
+ "E_FAIL",
+ "FABRIC_E_BACKUP_IS_ENABLED",
+ "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH",
+ "FABRIC_E_INVALID_FOR_STATELESS_SERVICES",
+ "FABRIC_E_BACKUP_NOT_ENABLED",
+ "FABRIC_E_BACKUP_POLICY_NOT_EXISTING",
+ "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING",
+ "FABRIC_E_BACKUP_IN_PROGRESS",
+ "FABRIC_E_RESTORE_IN_PROGRESS",
+ "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING",
+ "FABRIC_E_INVALID_SERVICE_SCALING_POLICY",
+ "E_INVALIDARG",
+ "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS",
+ "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND",
+ "FABRIC_E_VOLUME_ALREADY_EXISTS",
+ "FABRIC_E_VOLUME_NOT_FOUND",
+ "SerializationError",
+ "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR"
+ ],
+ "x-ms-enum": {
+ "name": "FabricErrorCodes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "FABRIC_E_INVALID_PARTITION_KEY"
+ },
+ {
+ "value": "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_INVALID_ADDRESS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_NOT_UPGRADING"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_NOT_UPGRADING"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_INVALID_CONFIGURATION"
+ },
+ {
+ "value": "FABRIC_E_INVALID_NAME_URI"
+ },
+ {
+ "value": "FABRIC_E_PATH_TOO_LONG"
+ },
+ {
+ "value": "FABRIC_E_KEY_TOO_LARGE"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
+ },
+ {
+ "value": "FABRIC_E_INVALID_ATOMIC_GROUP"
+ },
+ {
+ "value": "FABRIC_E_VALUE_EMPTY"
+ },
+ {
+ "value": "FABRIC_E_NODE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_PARTITION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_REPLICA_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_DIRECTORY_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_FILE_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_NAME_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
+ },
+ {
+ "value": "FABRIC_E_ENUMERATION_COMPLETED"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_KEY_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_APPLICATION_TYPE_IN_USE"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_VERSION_IN_USE"
+ },
+ {
+ "value": "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_NAME_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_NAME_NOT_EMPTY"
+ },
+ {
+ "value": "FABRIC_E_PROPERTY_CHECK_FAILED"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_METADATA_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_TYPE_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_HEALTH_STALE_REPORT"
+ },
+ {
+ "value": "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
+ },
+ {
+ "value": "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
+ },
+ {
+ "value": "FABRIC_E_INSTANCE_ID_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_VALUE_TOO_LARGE"
+ },
+ {
+ "value": "FABRIC_E_NO_WRITE_QUORUM"
+ },
+ {
+ "value": "FABRIC_E_NOT_PRIMARY"
+ },
+ {
+ "value": "FABRIC_E_NOT_READY"
+ },
+ {
+ "value": "FABRIC_E_RECONFIGURATION_PENDING"
+ },
+ {
+ "value": "FABRIC_E_SERVICE_OFFLINE"
+ },
+ {
+ "value": "E_ABORT"
+ },
+ {
+ "value": "FABRIC_E_COMMUNICATION_ERROR"
+ },
+ {
+ "value": "FABRIC_E_OPERATION_NOT_COMPLETE"
+ },
+ {
+ "value": "FABRIC_E_TIMEOUT"
+ },
+ {
+ "value": "FABRIC_E_NODE_IS_UP"
+ },
+ {
+ "value": "E_FAIL"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_IS_ENABLED"
+ },
+ {
+ "value": "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
+ },
+ {
+ "value": "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_NOT_ENABLED"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
+ },
+ {
+ "value": "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_RESTORE_IN_PROGRESS"
+ },
+ {
+ "value": "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
+ },
+ {
+ "value": "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
+ },
+ {
+ "value": "E_INVALIDARG"
+ },
+ {
+ "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND"
+ },
+ {
+ "value": "FABRIC_E_VOLUME_ALREADY_EXISTS"
+ },
+ {
+ "value": "FABRIC_E_VOLUME_NOT_FOUND"
+ },
+ {
+ "value": "SerializationError"
+ },
+ {
+ "value": "FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR"
+ }
+ ]
+ }
+ },
+ "FabricError": {
+ "description": "The REST API operations for Service Fabric return standard HTTP status codes. This type defines the additional information returned from the Service Fabric API operations that are not successful.",
+ "properties": {
+ "Error": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Error object containing error code and error message."
+ }
+ },
+ "required": [
+ "Error"
+ ]
+ },
+ "FabricErrorError": {
+ "description": "Error object containing error code and error message.",
+ "properties": {
+ "Code": {
+ "$ref": "#/definitions/FabricErrorCodes",
+ "description": "Defines the fabric error codes that be returned as part of the error object in response to Service Fabric API operations that are not successful. Following are the error code values that can be returned for a specific HTTP status code.\n\n - Possible values of the error code for HTTP status code 400 (Bad Request)\n - \"FABRIC_E_INVALID_PARTITION_KEY\"\n - \"FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_ADDRESS\"\n - \"FABRIC_E_APPLICATION_NOT_UPGRADING\"\n - \"FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_FABRIC_NOT_UPGRADING\"\n - \"FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR\"\n - \"FABRIC_E_INVALID_CONFIGURATION\"\n - \"FABRIC_E_INVALID_NAME_URI\"\n - \"FABRIC_E_PATH_TOO_LONG\"\n - \"FABRIC_E_KEY_TOO_LARGE\"\n - \"FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED\"\n - \"FABRIC_E_INVALID_ATOMIC_GROUP\"\n - \"FABRIC_E_VALUE_EMPTY\"\n - \"FABRIC_E_BACKUP_IS_ENABLED\"\n - \"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH\"\n - \"FABRIC_E_INVALID_FOR_STATELESS_SERVICES\"\n - \"FABRIC_E_INVALID_SERVICE_SCALING_POLICY\"\n - \"E_INVALIDARG\"\n\n - Possible values of the error code for HTTP status code 404 (Not Found)\n - \"FABRIC_E_NODE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_TYPE_NOT_FOUND\"\n - \"FABRIC_E_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_TYPE_NOT_FOUND\"\n - \"FABRIC_E_SERVICE_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND\"\n - \"FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND\"\n - \"FABRIC_E_PARTITION_NOT_FOUND\"\n - \"FABRIC_E_REPLICA_DOES_NOT_EXIST\"\n - \"FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST\"\n - \"FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND\"\n - \"FABRIC_E_DIRECTORY_NOT_FOUND\"\n - \"FABRIC_E_FABRIC_VERSION_NOT_FOUND\"\n - \"FABRIC_E_FILE_NOT_FOUND\"\n - \"FABRIC_E_NAME_DOES_NOT_EXIST\"\n - \"FABRIC_E_PROPERTY_DOES_NOT_EXIST\"\n - \"FABRIC_E_ENUMERATION_COMPLETED\"\n - \"FABRIC_E_SERVICE_MANIFEST_NOT_FOUND\"\n - \"FABRIC_E_KEY_NOT_FOUND\"\n - \"FABRIC_E_HEALTH_ENTITY_NOT_FOUND\"\n - \"FABRIC_E_BACKUP_NOT_ENABLED\"\n - \"FABRIC_E_BACKUP_POLICY_NOT_EXISTING\"\n - \"FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING\"\n - \"FABRIC_E_IMAGEBUILDER_RESERVED_DIRECTORY_ERROR\"\n\n - Possible values of the error code for HTTP status code 409 (Conflict)\n - \"FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS\"\n - \"FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_SERVICE_ALREADY_EXISTS\"\n - \"FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS\"\n - \"FABRIC_E_APPLICATION_TYPE_IN_USE\"\n - \"FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION\"\n - \"FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS\"\n - \"FABRIC_E_FABRIC_VERSION_IN_USE\"\n - \"FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS\"\n - \"FABRIC_E_NAME_ALREADY_EXISTS\"\n - \"FABRIC_E_NAME_NOT_EMPTY\"\n - \"FABRIC_E_PROPERTY_CHECK_FAILED\"\n - \"FABRIC_E_SERVICE_METADATA_MISMATCH\"\n - \"FABRIC_E_SERVICE_TYPE_MISMATCH\"\n - \"FABRIC_E_HEALTH_STALE_REPORT\"\n - \"FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED\"\n - \"FABRIC_E_NODE_HAS_NOT_STOPPED_YET\"\n - \"FABRIC_E_INSTANCE_ID_MISMATCH\"\n - \"FABRIC_E_BACKUP_IN_PROGRESS\"\n - \"FABRIC_E_RESTORE_IN_PROGRESS\"\n - \"FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING\"\n\n - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 500 (Internal Server Error)\n - \"FABRIC_E_NODE_IS_UP\"\n - \"E_FAIL\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS\"\n - \"FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND\"\n - \"FABRIC_E_VOLUME_ALREADY_EXISTS\"\n - \"FABRIC_E_VOLUME_NOT_FOUND\"\n - \"SerializationError\"\n\n - Possible values of the error code for HTTP status code 503 (Service Unavailable)\n - \"FABRIC_E_NO_WRITE_QUORUM\"\n - \"FABRIC_E_NOT_PRIMARY\"\n - \"FABRIC_E_NOT_READY\"\n - \"FABRIC_E_RECONFIGURATION_PENDING\"\n - \"FABRIC_E_SERVICE_OFFLINE\"\n - \"E_ABORT\"\n - \"FABRIC_E_VALUE_TOO_LARGE\"\n\n - Possible values of the error code for HTTP status code 504 (Gateway Timeout)\n - \"FABRIC_E_COMMUNICATION_ERROR\"\n - \"FABRIC_E_OPERATION_NOT_COMPLETE\"\n - \"FABRIC_E_TIMEOUT\""
+ },
+ "Message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "required": [
+ "Code"
+ ]
+ },
+ "ContainerLogs": {
+ "description": "Container logs.",
+ "properties": {
+ "Content": {
+ "type": "string",
+ "description": "Container logs."
+ }
+ }
+ },
+ "AadMetadata": {
+ "description": "Azure Active Directory metadata used for secured connection to cluster.",
+ "properties": {
+ "authority": {
+ "type": "string",
+ "description": "The AAD authority url."
+ },
+ "client": {
+ "type": "string",
+ "description": "The AAD client application Id."
+ },
+ "cluster": {
+ "type": "string",
+ "description": "The AAD cluster application Id."
+ },
+ "login": {
+ "type": "string",
+ "description": "The AAD login url."
+ },
+ "redirect": {
+ "type": "string",
+ "description": "The client application redirect address."
+ },
+ "tenant": {
+ "type": "string",
+ "description": "The AAD tenant Id."
+ }
+ }
+ },
+ "AadMetadataObject": {
+ "description": "Azure Active Directory metadata object used for secured connection to cluster.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The client authentication method."
+ },
+ "metadata": {
+ "$ref": "#/definitions/AadMetadata",
+ "description": "Azure Active Directory metadata used for secured connection to cluster."
+ }
+ }
+ },
+ "AnalysisEventMetadata": {
+ "description": "Metadata about an Analysis Event.",
+ "properties": {
+ "Delay": {
+ "type": "string",
+ "format": "duration",
+ "description": "The analysis delay."
+ },
+ "Duration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration of analysis."
+ }
+ }
+ },
+ "ApplicationDefinitionKind": {
+ "type": "string",
+ "description": "The mechanism used to define a Service Fabric application.",
+ "enum": [
+ "Invalid",
+ "ServiceFabricApplicationDescription",
+ "Compose"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationDefinitionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 65535."
+ },
+ {
+ "value": "ServiceFabricApplicationDescription",
+ "description": "Indicates the application is defined by a Service Fabric application description. The value is 0."
+ },
+ {
+ "value": "Compose",
+ "description": "Indicates the application is defined by compose file(s). The value is 1."
+ }
+ ]
+ }
+ },
+ "ApplicationEvent": {
+ "description": "Represents the base for all Application Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationId": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ }
+ },
+ "required": [
+ "ApplicationId"
+ ],
+ "x-ms-discriminator-value": "ApplicationEvent"
+ },
+ "ApplicationEventList": {
+ "description": "A list of ApplicationEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ },
+ "ApplicationHealth": {
+ "description": "Represents the health of the application. Contains the application aggregated health state and the service and deployed application health states.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceHealthState"
+ },
+ "description": "Service health states as found in the health store."
+ },
+ "DeployedApplicationHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationHealthState"
+ },
+ "description": "Deployed application health states as found in the health store."
+ }
+ }
+ },
+ "ApplicationHealthEvaluation": {
+ "x-ms-discriminator-value": "Application",
+ "description": "Represents health evaluation for an application, containing information about the data and the algorithm used by the health store to evaluate health.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "ApplicationHealthPolicies": {
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities.",
+ "properties": {
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMap",
+ "description": "The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster."
+ }
+ }
+ },
+ "ApplicationHealthPolicy": {
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.",
+ "properties": {
+ "ConsiderWarningAsError": {
+ "type": "boolean",
+ "description": "Indicates whether warnings are treated with the same severity as errors.",
+ "default": false
+ },
+ "MaxPercentUnhealthyDeployedApplications": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.",
+ "default": 0
+ },
+ "DefaultServiceTypeHealthPolicy": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicy",
+ "description": "The health policy used by default to evaluate the health of a service type."
+ },
+ "ServiceTypeHealthPolicyMap": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicyMap",
+ "description": "The map with service type health policy per service type name. The map is empty by default."
+ }
+ }
+ },
+ "ApplicationHealthPolicyMap": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMapItem"
+ },
+ "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default."
+ },
+ "ApplicationHealthPolicyMapItem": {
+ "description": "Defines an item in ApplicationHealthPolicyMap.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The key of the application health policy map item. This is the name of the application."
+ },
+ "Value": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "The value of the application health policy map item. This is the ApplicationHealthPolicy for this application."
+ }
+ }
+ },
+ "ApplicationHealthState": {
+ "description": "Represents the health state of an application, which contains the application identifier and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ }
+ },
+ "ApplicationHealthStateChunk": {
+ "description": "Represents the health state chunk of a application.\nThe application health state chunk contains the application name, its aggregated health state and any children services and deployed applications that respect the filters in cluster health chunk query description.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ApplicationTypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "ServiceHealthStateChunks": {
+ "$ref": "#/definitions/ServiceHealthStateChunkList",
+ "description": "The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ },
+ "DeployedApplicationHealthStateChunks": {
+ "$ref": "#/definitions/DeployedApplicationHealthStateChunkList",
+ "description": "The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "ApplicationHealthStateChunkList": {
+ "description": "The list of application health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunkList"
+ }
+ ],
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthStateChunk"
+ },
+ "description": "The list of application health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "ApplicationHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a application should be included in the cluster health chunk.\nOne filter can match zero, one or multiple applications, depending on its properties.",
+ "properties": {
+ "ApplicationNameFilter": {
+ "type": "string",
+ "description": "The name of the application that matches the filter, as a fabric uri. The filter is applied only to the specified application, if it exists.\nIf the application doesn't exist, no application is returned in the cluster health chunk based on this filter.\nIf the application exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter."
+ },
+ "ApplicationTypeNameFilter": {
+ "type": "string",
+ "description": "The name of the application type that matches the filter.\nIf specified, the filter is applied only to applications of the selected application type, if any exists.\nIf no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.\nEach application of the specified application type is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all applications are matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the applications. It allows selecting applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only applications that match the filter are returned. All applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the application name or the application type name are specified. If the filter has default value and application name is specified, the matching application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "ServiceFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which services to be included in the returned cluster health chunk as children of the application. The services are returned only if the parent application matches a filter.\nIf the list is empty, no services are returned. All the services are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple service filters.\nFor example, it can specify a filter to return all services with health state Error and another filter to always include a service identified by its service name."
+ },
+ "DeployedApplicationFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which deployed applications to be included in the returned cluster health chunk as children of the application. The deployed applications are returned only if the parent application matches a filter.\nIf the list is empty, no deployed applications are returned. All the deployed applications are used to evaluate the parent application aggregated health state, regardless of the input filters.\nThe application filter may specify multiple deployed application filters.\nFor example, it can specify a filter to return all deployed applications with health state Error and another filter to always include a deployed application on a specified node."
+ }
+ }
+ },
+ "ApplicationId": {
+ "type": "string",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "ApplicationInfo": {
+ "description": "Information about a Service Fabric application.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "TypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationStatus",
+ "description": "The status of the application."
+ },
+ "Parameters": {
+ "$ref": "#/definitions/ApplicationParameterList",
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "ApplicationDefinitionKind": {
+ "$ref": "#/definitions/ApplicationDefinitionKind",
+ "description": "The mechanism used to define a Service Fabric application."
+ }
+ }
+ },
+ "ApplicationLoadInfo": {
+ "description": "Load Information about a Service Fabric application.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "MinimumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum number of nodes for this application.\nIt is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.\nFor applications that do not have application capacity defined this value will be zero."
+ },
+ "MaximumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of nodes where this application can be instantiated.\nIt is the number of nodes this application is allowed to span.\nFor applications that do not have application capacity defined this value will be zero."
+ },
+ "NodeCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of nodes on which this application is instantiated.\nFor applications that do not have application capacity defined this value will be zero."
+ },
+ "ApplicationLoadMetricInformation": {
+ "$ref": "#/definitions/ApplicationMetricDescriptionList",
+ "description": "List of application capacity metric description."
+ }
+ }
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ApplicationNameInfo": {
+ "description": "Information about the application name.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ }
+ },
+ "ApplicationPackageCleanupPolicy": {
+ "type": "string",
+ "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Automatic",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationPackageCleanupPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the application package cleanup policy is invalid. This value is default. The value is zero."
+ },
+ {
+ "value": "Default",
+ "description": "Indicates that the cleanup policy of application packages is based on the cluster setting \"CleanupApplicationPackageOnProvisionSuccess.\" The value is 1."
+ },
+ {
+ "value": "Automatic",
+ "description": "Indicates that the service fabric runtime determines when to do the application package cleanup. By default, cleanup is done on successful provision. The value is 2."
+ },
+ {
+ "value": "Manual",
+ "description": "Indicates that the user has to explicitly clean up the application package. The value is 3."
+ }
+ ]
+ }
+ },
+ "ApplicationParameter": {
+ "description": "Describes an application parameter override to be applied when creating or upgrading an application.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The name of the parameter."
+ },
+ "Value": {
+ "type": "string",
+ "description": "The value of the parameter."
+ }
+ }
+ },
+ "ApplicationParameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationParameter"
+ },
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "ApplicationsHealthEvaluation": {
+ "x-ms-discriminator-value": "Applications",
+ "description": "Represents health evaluation for applications, containing health evaluations for each unhealthy application that impacted current aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applications from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ApplicationStatus": {
+ "type": "string",
+ "description": "The status of the application.",
+ "enum": [
+ "Invalid",
+ "Ready",
+ "Upgrading",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates the application status is ready. The value is 1."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the application status is upgrading. The value is 2."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates the application status is creating. The value is 3."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates the application status is deleting. The value is 4."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates the creation or deletion of application was terminated due to persistent failures. Another create/delete request can be accepted to resume a failed application. The value is 5."
+ }
+ ]
+ }
+ },
+ "ApplicationTypeApplicationsHealthEvaluation": {
+ "x-ms-discriminator-value": "ApplicationTypeApplications",
+ "description": "Represents health evaluation for applications of a particular application type. The application type applications evaluation can be returned when cluster health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each unhealthy application of the included application type that impacted current aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applications of the application type found in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation of this application type that impacted the aggregated health."
+ }
+ }
+ },
+ "ApplicationTypeDefinitionKind": {
+ "type": "string",
+ "description": "The mechanism used to define a Service Fabric application type.",
+ "enum": [
+ "Invalid",
+ "ServiceFabricApplicationPackage",
+ "Compose"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationTypeDefinitionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application type definition kind is invalid. All Service Fabric enumerations have the invalid type. The value is 0."
+ },
+ {
+ "value": "ServiceFabricApplicationPackage",
+ "description": "Indicates the application type is defined and created by a Service Fabric application package provided by the user. The value is 1."
+ },
+ {
+ "value": "Compose",
+ "description": "Indicates the application type is defined and created implicitly as part of a compose deployment. The value is 2."
+ }
+ ]
+ }
+ },
+ "ApplicationTypeHealthPolicyMap": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationTypeHealthPolicyMapItem"
+ },
+ "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation."
+ },
+ "ApplicationTypeHealthPolicyMapItem": {
+ "description": "Defines an item in ApplicationTypeHealthPolicyMap.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The key of the application type health policy map item. This is the name of the application type."
+ },
+ "Value": {
+ "type": "integer",
+ "description": "The value of the application type health policy map item.\nThe max percent unhealthy applications allowed for the application type. Must be between zero and 100."
+ }
+ }
+ },
+ "ApplicationTypeInfo": {
+ "description": "Information about an application type.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "Version": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "DefaultParameterList": {
+ "$ref": "#/definitions/ApplicationTypeParameterList",
+ "description": "List of application type parameters that can be overridden when creating or updating the application."
+ },
+ "Status": {
+ "$ref": "#/definitions/ApplicationTypeStatus",
+ "description": "The status of the application type."
+ },
+ "StatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the application type."
+ },
+ "ApplicationTypeDefinitionKind": {
+ "$ref": "#/definitions/ApplicationTypeDefinitionKind",
+ "description": "The mechanism used to define a Service Fabric application type."
+ }
+ }
+ },
+ "PagedApplicationTypeInfoList": {
+ "description": "The list of application types that are provisioned or being provisioned in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of application type information.",
+ "items": {
+ "$ref": "#/definitions/ApplicationTypeInfo"
+ }
+ }
+ }
+ },
+ "ApplicationTypeManifest": {
+ "description": "Contains the manifest describing an application type registered in a Service Fabric cluster.",
+ "properties": {
+ "Manifest": {
+ "type": "string",
+ "description": "The XML manifest as a string."
+ }
+ }
+ },
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "ApplicationTypeParameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationParameter"
+ },
+ "description": "List of application type parameters that can be overridden when creating or updating the application."
+ },
+ "ApplicationTypeStatus": {
+ "type": "string",
+ "description": "The status of the application type.",
+ "enum": [
+ "Invalid",
+ "Provisioning",
+ "Available",
+ "Unprovisioning",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationTypeStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the application type status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Provisioning",
+ "description": "Indicates that the application type is being provisioned in the cluster. The value is 1."
+ },
+ {
+ "value": "Available",
+ "description": "Indicates that the application type is fully provisioned and is available for use. An application of this type and version can be created. The value is 2."
+ },
+ {
+ "value": "Unprovisioning",
+ "description": "Indicates that the application type is in process of being unprovisioned from the cluster. The value is 3."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates that the application type provisioning failed and it is unavailable for use. The failure details can be obtained from the application type information query. The failed application type information remains in the cluster until it is unprovisioned or reprovisioned successfully. The value is 4."
+ }
+ ]
+ }
+ },
+ "ApplicationUnhealthyEvaluations": {
+ "description": "List of health evaluations that resulted in the current aggregated health state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthEvaluationWrapper"
+ }
+ },
+ "ApplicationUpgradeDescription": {
+ "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/TargetApplicationName",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "TargetApplicationTypeVersion": {
+ "$ref": "#/definitions/TargetApplicationTypeVersion",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "Parameters": {
+ "$ref": "#/definitions/ApplicationParameterList",
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "SortOrder": {
+ "$ref": "#/definitions/UpgradeSortOrder",
+ "description": "Defines the order in which an upgrade proceeds through the cluster."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description."
+ }
+ },
+ "required": [
+ "Name",
+ "TargetApplicationTypeVersion",
+ "UpgradeKind"
+ ]
+ },
+ "ApplicationUpgradeProgressInfo": {
+ "description": "Describes the parameters for an application upgrade.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/TargetApplicationName",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "TargetApplicationTypeVersion": {
+ "$ref": "#/definitions/TargetApplicationTypeVersion",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "UpgradeDomains": {
+ "$ref": "#/definitions/UpgradeDomainInfoList",
+ "description": "List of upgrade domains and their statuses."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/UpgradeState",
+ "description": "The state of the upgrade domain."
+ },
+ "NextUpgradeDomain": {
+ "$ref": "#/definitions/NextUpgradeDomain",
+ "description": "The name of the next upgrade domain to be processed."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeDescription": {
+ "$ref": "#/definitions/ApplicationUpgradeDescription",
+ "description": "Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription."
+ },
+ "UpgradeDurationInMilliseconds": {
+ "type": "string",
+ "description": "The estimated total amount of time spent processing the overall upgrade."
+ },
+ "UpgradeDomainDurationInMilliseconds": {
+ "type": "string",
+ "description": "The estimated total amount of time spent processing the current upgrade domain."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of health evaluations that resulted in the current aggregated health state."
+ },
+ "CurrentUpgradeDomainProgress": {
+ "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo",
+ "description": "Information about the current in-progress upgrade domain."
+ },
+ "StartTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade started."
+ },
+ "FailureTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed."
+ },
+ "FailureReason": {
+ "$ref": "#/definitions/FailureReason",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed."
+ },
+ "UpgradeDomainProgressAtFailure": {
+ "$ref": "#/definitions/FailureUpgradeDomainProgressInfo",
+ "description": "Information about the upgrade domain progress at the time of upgrade failure."
+ },
+ "UpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the pending upgrade."
+ }
+ }
+ },
+ "ByteArray": {
+ "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.",
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "ClusterConfiguration": {
+ "description": "Information about the standalone cluster configuration.",
+ "properties": {
+ "ClusterConfiguration": {
+ "type": "string",
+ "description": "The contents of the cluster configuration file."
+ }
+ }
+ },
+ "ClusterEvent": {
+ "description": "Represents the base for all Cluster Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "x-ms-discriminator-value": "ClusterEvent"
+ },
+ "ClusterEventList": {
+ "description": "A list of ClusterEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ },
+ "ClusterHealth": {
+ "description": "Represents the health of the cluster.\nContains the cluster aggregated health state, the cluster application and node health states as well as the health events and the unhealthy evaluations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "NodeHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeHealthState"
+ },
+ "description": "Cluster node health states as found in the health store."
+ },
+ "ApplicationHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthState"
+ },
+ "description": "Cluster application health states as found in the health store."
+ }
+ }
+ },
+ "ClusterHealthChunk": {
+ "description": "Represents the health chunk of the cluster.\nContains the cluster aggregated health state, and the cluster entities that respect the input filter.",
+ "properties": {
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The HealthState representing the aggregated health state of the cluster computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired cluster health policy and the application health policies."
+ },
+ "NodeHealthStateChunks": {
+ "$ref": "#/definitions/NodeHealthStateChunkList",
+ "description": "The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ },
+ "ApplicationHealthStateChunks": {
+ "$ref": "#/definitions/ApplicationHealthStateChunkList",
+ "description": "The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "ClusterHealthChunkQueryDescription": {
+ "description": "The cluster health chunk query description, which can specify the health policies to evaluate cluster health and very expressive filters to select which cluster entities to include in response.",
+ "properties": {
+ "NodeFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.\nIf no filters are specified, no nodes are returned. All the nodes are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple node filters.\nFor example, it can specify a filter to return all nodes with health state Error and another filter to always include a node identified by its NodeName."
+ },
+ "ApplicationFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which applications to be included in the returned cluster health chunk.\nIf no filters are specified, no applications are returned. All the applications are used to evaluate the cluster's aggregated health state, regardless of the input filters.\nThe cluster health chunk query may specify multiple application filters.\nFor example, it can specify a filter to return all applications with health state Error and another filter to always include applications of a specified application type."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "ApplicationHealthPolicies": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ }
+ }
+ },
+ "ClusterHealthPolicies": {
+ "description": "Health policies to evaluate cluster health.",
+ "properties": {
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMap",
+ "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ }
+ }
+ },
+ "ClusterHealthPolicy": {
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.",
+ "properties": {
+ "ConsiderWarningAsError": {
+ "type": "boolean",
+ "description": "Indicates whether warnings are treated with the same severity as errors.",
+ "default": false
+ },
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.",
+ "default": 0
+ },
+ "ApplicationTypeHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationTypeHealthPolicyMap",
+ "description": "Defines a map with max percentage unhealthy applications for specific application types.\nEach entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type.\n\nThe application type health policy map can be used during cluster health evaluation to describe special application types.\nThe application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy.\nThe applications of application types specified in the map are not counted against the global pool of applications.\nFor example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type\nand assign it a value of 0% (that is, do not tolerate any failures).\nAll other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.\nThe application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation."
+ }
+ }
+ },
+ "ClusterManifest": {
+ "description": "Information about the cluster manifest.",
+ "properties": {
+ "Manifest": {
+ "type": "string",
+ "description": "The contents of the cluster manifest file."
+ }
+ }
+ },
+ "ClusterLoadInfo": {
+ "description": "Information about load in a Service Fabric cluster. It holds a summary of all metrics and their load in a cluster.",
+ "properties": {
+ "LastBalancingStartTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The starting time of last resource balancing run."
+ },
+ "LastBalancingEndTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time of last resource balancing run."
+ },
+ "LoadMetricInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadMetricInformation"
+ },
+ "description": "List that contains metrics and their load information in this cluster."
+ }
+ }
+ },
+ "LoadMetricInformation": {
+ "description": "Represents data structure that contains load information for a certain metric in a cluster.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the metric for which this load information is provided."
+ },
+ "IsBalancedBefore": {
+ "type": "boolean",
+ "description": "Value that indicates whether the metrics is balanced or not before resource balancer run"
+ },
+ "IsBalancedAfter": {
+ "type": "boolean",
+ "description": "Value that indicates whether the metrics is balanced or not after resource balancer run."
+ },
+ "DeviationBefore": {
+ "type": "string",
+ "format": "double",
+ "description": "The standard average deviation of the metrics before resource balancer run."
+ },
+ "DeviationAfter": {
+ "type": "string",
+ "format": "double",
+ "description": "The standard average deviation of the metrics after resource balancer run."
+ },
+ "BalancingThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The balancing threshold for a certain metric."
+ },
+ "Action": {
+ "type": "string",
+ "description": "The current action being taken with regard to this metric"
+ },
+ "ActivityThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The Activity Threshold specified for this metric in the system Cluster Manifest."
+ },
+ "ClusterCapacity": {
+ "type": "string",
+ "description": "The total cluster capacity for a given metric"
+ },
+ "ClusterLoad": {
+ "type": "string",
+ "description": "The total cluster load. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentClusterLoad."
+ },
+ "CurrentClusterLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "The total cluster load."
+ },
+ "ClusterRemainingCapacity": {
+ "type": "string",
+ "description": "The remaining capacity for the metric in the cluster. In future releases of Service Fabric this parameter will be deprecated in favor of ClusterCapacityRemaining."
+ },
+ "ClusterCapacityRemaining": {
+ "type": "string",
+ "description": "The remaining capacity for the metric in the cluster."
+ },
+ "IsClusterCapacityViolation": {
+ "type": "boolean",
+ "description": "Indicates that the metric is currently over capacity in the cluster."
+ },
+ "NodeBufferPercentage": {
+ "type": "string",
+ "format": "double",
+ "description": "The reserved percentage of total node capacity for this metric."
+ },
+ "ClusterBufferedCapacity": {
+ "type": "string",
+ "description": "Remaining capacity in the cluster excluding the reserved space. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedClusterCapacityRemaining."
+ },
+ "BufferedClusterCapacityRemaining": {
+ "type": "string",
+ "format": "double",
+ "description": "Remaining capacity in the cluster excluding the reserved space."
+ },
+ "ClusterRemainingBufferedCapacity": {
+ "type": "string",
+ "description": "The remaining percentage of cluster total capacity for this metric."
+ },
+ "MinNodeLoadValue": {
+ "type": "string",
+ "description": "The minimum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MinimumNodeLoad."
+ },
+ "MinimumNodeLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "The minimum load on any node for this metric."
+ },
+ "MinNodeLoadNodeId": {
+ "$ref": "#/definitions/NodeId",
+ "description": "The node id of the node with the minimum load for this metric."
+ },
+ "MaxNodeLoadValue": {
+ "type": "string",
+ "description": "The maximum load on any node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of MaximumNodeLoad."
+ },
+ "MaximumNodeLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "The maximum load on any node for this metric."
+ },
+ "MaxNodeLoadNodeId": {
+ "$ref": "#/definitions/NodeId",
+ "description": "The node id of the node with the maximum load for this metric."
+ },
+ "PlannedLoadRemoval": {
+ "type": "string",
+ "format": "double",
+ "description": "This value represents the load of the replicas that are planned to be removed in the future within the cluster.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node."
+ }
+ }
+ },
+ "ClusterVersion": {
+ "description": "The cluster version.",
+ "properties": {
+ "Version": {
+ "type": "string",
+ "description": "The Service Fabric cluster runtime version."
+ }
+ }
+ },
+ "ContainerApiRequestBody": {
+ "description": "parameters for making container API call.",
+ "properties": {
+ "HttpVerb": {
+ "type": "string",
+ "description": "HTTP verb of container REST API, defaults to \"GET\""
+ },
+ "UriPath": {
+ "type": "string",
+ "description": "URI path of container REST API"
+ },
+ "Content-Type": {
+ "type": "string",
+ "description": "Content type of container REST API request, defaults to \"application/json\""
+ },
+ "Body": {
+ "type": "string",
+ "description": "HTTP request body of container REST API"
+ }
+ },
+ "required": [
+ "UriPath"
+ ]
+ },
+ "ContainerApiResponse": {
+ "description": "Response body that wraps container API result.",
+ "properties": {
+ "ContainerApiResult": {
+ "$ref": "#/definitions/ContainerApiResult",
+ "description": "Container API result."
+ }
+ },
+ "required": [
+ "ContainerApiResult"
+ ]
+ },
+ "ContainerApiResult": {
+ "description": "Container API result.",
+ "properties": {
+ "Status": {
+ "type": "integer",
+ "description": "HTTP status code returned by the target container API"
+ },
+ "Content-Type": {
+ "type": "string",
+ "description": "HTTP content type"
+ },
+ "Content-Encoding": {
+ "type": "string",
+ "description": "HTTP content encoding"
+ },
+ "Body": {
+ "type": "string",
+ "description": "container API result body"
+ }
+ },
+ "required": [
+ "Status"
+ ]
+ },
+ "ContainerInstanceEvent": {
+ "description": "Represents the base for all Container Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "x-ms-discriminator-value": "ContainerInstanceEvent"
+ },
+ "ContainerInstanceEventList": {
+ "description": "A list of ContainerInstanceEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerInstanceEvent"
+ }
+ },
+ "ContinuationToken": {
+ "type": "string",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "ConfigParameterOverrideList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigParameterOverride"
+ },
+ "description": "List that contains parameters, sections that they belong and their values."
+ },
+ "ConfigParameterOverride": {
+ "description": "Information about a configuration parameter override.",
+ "properties": {
+ "SectionName": {
+ "type": "string",
+ "description": "Name of the section for the parameter override."
+ },
+ "ParameterName": {
+ "type": "string",
+ "description": "Name of the parameter that has been overridden."
+ },
+ "ParameterValue": {
+ "type": "string",
+ "description": "Value of the overridden parameter."
+ },
+ "Timeout": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration until config override is considered as valid."
+ },
+ "PersistAcrossUpgrade": {
+ "type": "boolean",
+ "description": "A value that indicates whether config override will be removed on upgrade or will still be considered as valid."
+ }
+ },
+ "required": [
+ "SectionName",
+ "ParameterName",
+ "ParameterValue"
+ ]
+ },
+ "CurrentUpgradeDomainProgressInfo": {
+ "description": "Information about the current in-progress upgrade domain.",
+ "properties": {
+ "DomainName": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "NodeUpgradeProgressList": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfoList",
+ "description": "List of upgrading nodes and their statuses"
+ }
+ }
+ },
+ "CurrentUpgradeDomainDuration": {
+ "type": "string",
+ "description": "The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "DeactivationIntentDescription": {
+ "description": "Describes the intent or reason for deactivating the node.",
+ "properties": {
+ "DeactivationIntent": {
+ "type": "string",
+ "description": "Describes the intent or reason for deactivating the node. The possible values are following.",
+ "enum": [
+ "Pause",
+ "Restart",
+ "RemoveData"
+ ],
+ "x-ms-enum": {
+ "name": "DeactivationIntent",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Pause",
+ "description": "Indicates that the node should be paused. The value is 1."
+ },
+ {
+ "value": "Restart",
+ "description": "Indicates that the intent is for the node to be restarted after a short period of time. The value is 2."
+ },
+ {
+ "value": "RemoveData",
+ "description": "Indicates the intent is for the node to remove data. The value is 3."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DeltaNodesCheckHealthEvaluation": {
+ "x-ms-discriminator-value": "DeltaNodesCheck",
+ "description": "Represents health evaluation for delta nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when the aggregated health state of the cluster is Warning or Error.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "BaselineErrorCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade."
+ },
+ "BaselineTotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes in the health store at the beginning of the cluster upgrade."
+ },
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state.\nIncludes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "DeployedApplicationHealth": {
+ "description": "Information about the health of an application deployed on a Service Fabric node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "Name of the application deployed on the node whose health information is described by this object."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node where this application is deployed."
+ },
+ "DeployedServicePackageHealthStates": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateList",
+ "description": "Deployed service package health states for the current deployed application as found in the health store."
+ }
+ }
+ },
+ "DeployedApplicationHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedApplication",
+ "description": "Represents health evaluation for a deployed application, containing information about the data and the algorithm used by the health store to evaluate health.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node where the application is deployed to."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the deployed application.\nThe types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "DeployedApplicationHealthState": {
+ "description": "Represents the health state of a deployed application, which contains the entity identifier and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node on which the service package is deployed."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ }
+ },
+ "DeployedApplicationHealthStateChunk": {
+ "description": "Represents the health state chunk of a deployed application, which contains the node where the application is deployed, the aggregated health state and any deployed service packages that respect the chunk query description filters.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "type": "string",
+ "description": "The name of node where the application is deployed."
+ },
+ "DeployedServicePackageHealthStateChunks": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateChunkList",
+ "description": "The list of deployed service package health state chunks belonging to the deployed application that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "DeployedApplicationHealthStateChunkList": {
+ "description": "The list of deployed application health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationHealthStateChunk"
+ },
+ "description": "The list of deployed application health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "DeployedApplicationHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a deployed application should be included as a child of an application in the cluster health chunk.\nThe deployed applications are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple deployed applications, depending on its properties.",
+ "properties": {
+ "NodeNameFilter": {
+ "type": "string",
+ "description": "The name of the node where the application is deployed in order to match the filter.\nIf specified, the filter is applied only to the application deployed on the specified node.\nIf the application is not deployed on the node with the specified name, no deployed application is returned in the cluster health chunk based on this filter.\nOtherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed applications that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed applications that match the filter are returned. All deployed applications are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching deployed application is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "DeployedServicePackageFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which deployed service packages to be included in the returned cluster health chunk as children of the parent deployed application. The deployed service packages are returned only if the parent deployed application matches a filter.\nIf the list is empty, no deployed service packages are returned. All the deployed service packages are used to evaluate the parent deployed application aggregated health state, regardless of the input filters.\nThe deployed application filter may specify multiple deployed service package filters.\nFor example, it can specify a filter to return all deployed service packages with health state Error and another filter to always include a deployed service package on a node."
+ }
+ }
+ },
+ "DeployedApplicationInfo": {
+ "description": "Information about application deployed on the node.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ApplicationId",
+ "description": "The identity of the application. This is an encoded representation of the application name. This is used in the REST APIs to identify the application resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the application name is \"fabric:/myapp/app1\",\nthe application identity would be \"myapp\\~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/DeployedApplicationStatus",
+ "description": "The status of the application deployed on the node. Following are the possible values."
+ },
+ "WorkDirectory": {
+ "type": "string",
+ "description": "The work directory of the application on the node. The work directory can be used to store application data."
+ },
+ "LogDirectory": {
+ "type": "string",
+ "description": "The log directory of the application on the node. The log directory can be used to store application logs."
+ },
+ "TempDirectory": {
+ "type": "string",
+ "description": "The temp directory of the application on the node. The code packages belonging to the application are forked with this directory set as their temporary directory."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ }
+ }
+ },
+ "DeployedApplicationInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationInfo"
+ },
+ "description": "List of deployed application information."
+ },
+ "DeployedApplicationsHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedApplications",
+ "description": "Represents health evaluation for deployed applications, containing health evaluations for each unhealthy deployed application that impacted current aggregated health state.\nCan be returned when evaluating application health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyDeployedApplications": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of deployed applications of the application in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "DeployedApplicationStatus": {
+ "type": "string",
+ "description": "The status of the application deployed on the node. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Downloading",
+ "Activating",
+ "Active",
+ "Upgrading",
+ "Deactivating"
+ ],
+ "x-ms-enum": {
+ "name": "DeployedApplicationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that deployment status is not valid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Downloading",
+ "description": "Indicates that the package is downloading from the ImageStore. The value is 1."
+ },
+ {
+ "value": "Activating",
+ "description": "Indicates that the package is activating. The value is 2."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates that the package is active. The value is 3."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates that the package is upgrading. The value is 4."
+ },
+ {
+ "value": "Deactivating",
+ "description": "Indicates that the package is deactivating. The value is 5."
+ }
+ ]
+ }
+ },
+ "DeployedServicePackageHealth": {
+ "description": "Information about the health of a service package for a specific application deployed on a Service Fabric node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "Name of the service manifest."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node where this service package is deployed."
+ }
+ }
+ },
+ "DeployedServicePackageHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedServicePackage",
+ "description": "Represents health evaluation for a deployed service package, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation."
+ }
+ }
+ },
+ "DeployedServicePackageHealthState": {
+ "description": "Represents the health state of a deployed service package, containing the entity identifier and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node on which the service package is deployed."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "Name of the manifest describing the service package."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateChunk": {
+ "description": "Represents the health state chunk of a deployed service package, which contains the service manifest name and the service package aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateChunkList": {
+ "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageHealthStateChunk"
+ },
+ "description": "The list of deployed service package health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a deployed service package should be included as a child of a deployed application in the cluster health chunk.\nThe deployed service packages are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent deployed application and its parent application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple deployed service packages, depending on its properties.",
+ "properties": {
+ "ServiceManifestNameFilter": {
+ "type": "string",
+ "description": "The name of the service manifest which identifies the deployed service packages that matches the filter.\nIf specified, the filter is applied only to the specified deployed service packages, if any.\nIf no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.\nIf any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all deployed service packages that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "ServicePackageActivationIdFilter": {
+ "type": "string",
+ "description": "The activation ID of a deployed service package that matches the filter.\nIf not specified, the filter applies to all deployed service packages that match the other parameters.\nIf specified, the filter matches only the deployed service package with the specified activation ID."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the deployed service packages. It allows selecting deployed service packages if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the parent deployed application aggregated health state.\nIf not specified, default value is None, unless the deployed service package ID is specified. If the filter has default value and deployed service package ID is specified, the matching deployed service package is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ }
+ }
+ },
+ "DeployedServicePackageHealthStateList": {
+ "description": "List of health states for a service package deployed on a Service Fabric node.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageHealthState"
+ }
+ },
+ "DeployedServicePackagesHealthEvaluation": {
+ "x-ms-discriminator-value": "DeployedServicePackages",
+ "description": "Represents health evaluation for deployed service packages, containing health evaluations for each unhealthy deployed service package that impacted current aggregated health state. Can be returned when evaluating deployed application health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of deployed service packages of the deployed application in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "DeployedServiceReplicaInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a Service Fabric service replica deployed on a node.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest in which this service type is defined."
+ },
+ "CodePackageName": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package that hosts this replica."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "ReplicaStatus": {
+ "$ref": "#/definitions/ReplicaStatus",
+ "description": "The status of a replica of a service."
+ },
+ "Address": {
+ "type": "string",
+ "description": "The last address returned by the replica in Open or ChangeRole."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "HostProcessId": {
+ "type": "string",
+ "description": "Host process ID of the process that is hosting the replica. This will be zero if the replica is down. In hyper-v containers this host process ID will be from different kernel."
+ }
+ }
+ },
+ "DeployedServiceReplicaInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServiceReplicaInfo"
+ },
+ "description": "List of deployed service replica information."
+ },
+ "DeployedStatefulServiceReplicaInfo": {
+ "description": "Information about a stateful service replica deployed on a node.",
+ "x-ms-discriminator-value": "Stateful",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaInfo"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "ReplicaRole": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "The role of a replica of a stateful service."
+ },
+ "ReconfigurationInformation": {
+ "$ref": "#/definitions/ReconfigurationInformation",
+ "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time."
+ }
+ }
+ },
+ "DeployedStatelessServiceInstanceInfo": {
+ "description": "Information about a stateless service instance deployed on a node.",
+ "x-ms-discriminator-value": "Stateless",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaInfo"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ }
+ }
+ },
+ "EntityHealth": {
+ "description": "Health information common to all entities in the cluster. It contains the aggregated health state, health events and unhealthy evaluation.",
+ "properties": {
+ "AggregatedHealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The HealthState representing the aggregated health state of the entity computed by Health Manager.\nThe health evaluation of the entity reflects all events reported on the entity and its children (if any).\nThe aggregation is done by applying the desired health policy."
+ },
+ "HealthEvents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthEvent"
+ },
+ "description": "The list of health events reported on the entity."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager."
+ },
+ "HealthStatistics": {
+ "$ref": "#/definitions/HealthStatistics",
+ "description": "Shows the health statistics for all children types of the queried entity."
+ }
+ }
+ },
+ "EntityHealthState": {
+ "description": "A base type for the health state of various entities in the cluster. It contains the aggregated health state.",
+ "properties": {
+ "AggregatedHealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ }
+ }
+ },
+ "EntityHealthStateChunk": {
+ "description": "A base type for the health state chunk of various entities in the cluster. It contains the aggregated health state.",
+ "properties": {
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ }
+ }
+ },
+ "EntityHealthStateChunkList": {
+ "description": "A base type for the list of health state chunks found in the cluster. It contains the total number of health states that match the input filters.",
+ "properties": {
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of entity health state objects that match the specified filters from the cluster health chunk query description."
+ }
+ }
+ },
+ "Epoch": {
+ "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica.",
+ "properties": {
+ "ConfigurationVersion": {
+ "type": "string",
+ "description": "The current configuration number of this Epoch. The configuration number is an increasing value that is updated whenever the configuration of this replica set changes."
+ },
+ "DataLossVersion": {
+ "type": "string",
+ "description": "The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica."
+ }
+ }
+ },
+ "EventHealthEvaluation": {
+ "x-ms-discriminator-value": "Event",
+ "description": "Represents health evaluation of a HealthEvent that was reported on the entity.\nThe health evaluation is returned when evaluating health of an entity results in Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ConsiderWarningAsError": {
+ "type": "boolean",
+ "description": "Indicates whether warnings are treated with the same severity as errors. The field is specified in the health policy used to evaluate the entity."
+ },
+ "UnhealthyEvent": {
+ "$ref": "#/definitions/HealthEvent",
+ "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager."
+ }
+ }
+ },
+ "EventList": {
+ "description": "A list of FabricEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ },
+ "FabricCodeVersionInfo": {
+ "description": "Information about a Service Fabric code version.",
+ "properties": {
+ "CodeVersion": {
+ "description": "The product version of Service Fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricCodeVersionInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FabricCodeVersionInfo"
+ },
+ "description": "List of all Service Fabric code versions."
+ },
+ "FabricConfigVersionInfo": {
+ "description": "Information about a Service Fabric config version.",
+ "properties": {
+ "ConfigVersion": {
+ "description": "The config version of Service Fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricConfigVersionInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FabricConfigVersionInfo"
+ },
+ "description": "List of all Service Fabric config versions."
+ },
+ "FabricEvent": {
+ "discriminator": "Kind",
+ "description": "Represents the base for all Fabric Events.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/FabricEventKind",
+ "description": "The kind of FabricEvent."
+ },
+ "EventInstanceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The identifier for the FabricEvent instance."
+ },
+ "Category": {
+ "type": "string",
+ "description": "The category of event."
+ },
+ "TimeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time event was logged."
+ },
+ "HasCorrelatedEvents": {
+ "type": "boolean",
+ "description": "Shows there is existing related events available."
+ }
+ },
+ "required": [
+ "Kind",
+ "EventInstanceId",
+ "TimeStamp"
+ ]
+ },
+ "FabricEventKind": {
+ "type": "string",
+ "description": "The kind of FabricEvent.",
+ "enum": [
+ "ClusterEvent",
+ "ContainerInstanceEvent",
+ "NodeEvent",
+ "ApplicationEvent",
+ "ServiceEvent",
+ "PartitionEvent",
+ "ReplicaEvent",
+ "PartitionAnalysisEvent",
+ "ApplicationCreated",
+ "ApplicationDeleted",
+ "ApplicationNewHealthReport",
+ "ApplicationHealthReportExpired",
+ "ApplicationUpgradeCompleted",
+ "ApplicationUpgradeDomainCompleted",
+ "ApplicationUpgradeRollbackCompleted",
+ "ApplicationUpgradeRollbackStarted",
+ "ApplicationUpgradeStarted",
+ "DeployedApplicationNewHealthReport",
+ "DeployedApplicationHealthReportExpired",
+ "ApplicationProcessExited",
+ "ApplicationContainerInstanceExited",
+ "NodeAborted",
+ "NodeAddedToCluster",
+ "NodeClosed",
+ "NodeDeactivateCompleted",
+ "NodeDeactivateStarted",
+ "NodeDown",
+ "NodeNewHealthReport",
+ "NodeHealthReportExpired",
+ "NodeOpenSucceeded",
+ "NodeOpenFailed",
+ "NodeRemovedFromCluster",
+ "NodeUp",
+ "PartitionNewHealthReport",
+ "PartitionHealthReportExpired",
+ "PartitionReconfigured",
+ "PartitionPrimaryMoveAnalysis",
+ "ServiceCreated",
+ "ServiceDeleted",
+ "ServiceNewHealthReport",
+ "ServiceHealthReportExpired",
+ "DeployedServicePackageNewHealthReport",
+ "DeployedServicePackageHealthReportExpired",
+ "StatefulReplicaNewHealthReport",
+ "StatefulReplicaHealthReportExpired",
+ "StatelessReplicaNewHealthReport",
+ "StatelessReplicaHealthReportExpired",
+ "ClusterNewHealthReport",
+ "ClusterHealthReportExpired",
+ "ClusterUpgradeCompleted",
+ "ClusterUpgradeDomainCompleted",
+ "ClusterUpgradeRollbackCompleted",
+ "ClusterUpgradeRollbackStarted",
+ "ClusterUpgradeStarted",
+ "ChaosStopped",
+ "ChaosStarted",
+ "ChaosCodePackageRestartScheduled",
+ "ChaosReplicaRemovalScheduled",
+ "ChaosPartitionSecondaryMoveScheduled",
+ "ChaosPartitionPrimaryMoveScheduled",
+ "ChaosReplicaRestartScheduled",
+ "ChaosNodeRestartScheduled"
+ ],
+ "x-ms-enum": {
+ "name": "FabricEventKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClusterEvent"
+ },
+ {
+ "value": "ContainerInstanceEvent"
+ },
+ {
+ "value": "NodeEvent"
+ },
+ {
+ "value": "ApplicationEvent"
+ },
+ {
+ "value": "ServiceEvent"
+ },
+ {
+ "value": "PartitionEvent"
+ },
+ {
+ "value": "ReplicaEvent"
+ },
+ {
+ "value": "PartitionAnalysisEvent"
+ },
+ {
+ "value": "ApplicationCreated"
+ },
+ {
+ "value": "ApplicationDeleted"
+ },
+ {
+ "value": "ApplicationNewHealthReport"
+ },
+ {
+ "value": "ApplicationHealthReportExpired"
+ },
+ {
+ "value": "ApplicationUpgradeCompleted"
+ },
+ {
+ "value": "ApplicationUpgradeDomainCompleted"
+ },
+ {
+ "value": "ApplicationUpgradeRollbackCompleted"
+ },
+ {
+ "value": "ApplicationUpgradeRollbackStarted"
+ },
+ {
+ "value": "ApplicationUpgradeStarted"
+ },
+ {
+ "value": "DeployedApplicationNewHealthReport"
+ },
+ {
+ "value": "DeployedApplicationHealthReportExpired"
+ },
+ {
+ "value": "ApplicationProcessExited"
+ },
+ {
+ "value": "ApplicationContainerInstanceExited"
+ },
+ {
+ "value": "NodeAborted"
+ },
+ {
+ "value": "NodeAddedToCluster"
+ },
+ {
+ "value": "NodeClosed"
+ },
+ {
+ "value": "NodeDeactivateCompleted"
+ },
+ {
+ "value": "NodeDeactivateStarted"
+ },
+ {
+ "value": "NodeDown"
+ },
+ {
+ "value": "NodeNewHealthReport"
+ },
+ {
+ "value": "NodeHealthReportExpired"
+ },
+ {
+ "value": "NodeOpenSucceeded"
+ },
+ {
+ "value": "NodeOpenFailed"
+ },
+ {
+ "value": "NodeRemovedFromCluster"
+ },
+ {
+ "value": "NodeUp"
+ },
+ {
+ "value": "PartitionNewHealthReport"
+ },
+ {
+ "value": "PartitionHealthReportExpired"
+ },
+ {
+ "value": "PartitionReconfigured"
+ },
+ {
+ "value": "PartitionPrimaryMoveAnalysis"
+ },
+ {
+ "value": "ServiceCreated"
+ },
+ {
+ "value": "ServiceDeleted"
+ },
+ {
+ "value": "ServiceNewHealthReport"
+ },
+ {
+ "value": "ServiceHealthReportExpired"
+ },
+ {
+ "value": "DeployedServicePackageNewHealthReport"
+ },
+ {
+ "value": "DeployedServicePackageHealthReportExpired"
+ },
+ {
+ "value": "StatefulReplicaNewHealthReport"
+ },
+ {
+ "value": "StatefulReplicaHealthReportExpired"
+ },
+ {
+ "value": "StatelessReplicaNewHealthReport"
+ },
+ {
+ "value": "StatelessReplicaHealthReportExpired"
+ },
+ {
+ "value": "ClusterNewHealthReport"
+ },
+ {
+ "value": "ClusterHealthReportExpired"
+ },
+ {
+ "value": "ClusterUpgradeCompleted"
+ },
+ {
+ "value": "ClusterUpgradeDomainCompleted"
+ },
+ {
+ "value": "ClusterUpgradeRollbackCompleted"
+ },
+ {
+ "value": "ClusterUpgradeRollbackStarted"
+ },
+ {
+ "value": "ClusterUpgradeStarted"
+ },
+ {
+ "value": "ChaosStopped"
+ },
+ {
+ "value": "ChaosStarted"
+ },
+ {
+ "value": "ChaosCodePackageRestartScheduled"
+ },
+ {
+ "value": "ChaosReplicaRemovalScheduled"
+ },
+ {
+ "value": "ChaosPartitionSecondaryMoveScheduled"
+ },
+ {
+ "value": "ChaosPartitionPrimaryMoveScheduled"
+ },
+ {
+ "value": "ChaosReplicaRestartScheduled"
+ },
+ {
+ "value": "ChaosNodeRestartScheduled"
+ }
+ ]
+ }
+ },
+ "ClusterConfigurationUpgradeStatusInfo": {
+ "description": "Information about a standalone cluster configuration upgrade status.",
+ "properties": {
+ "UpgradeState": {
+ "$ref": "#/definitions/UpgradeState",
+ "description": "The state of the upgrade domain."
+ },
+ "ProgressStatus": {
+ "type": "integer",
+ "description": "The cluster manifest version."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The cluster configuration version."
+ },
+ "Details": {
+ "type": "string",
+ "description": "The cluster upgrade status details."
+ }
+ }
+ },
+ "FailureAction": {
+ "type": "string",
+ "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.",
+ "enum": [
+ "Invalid",
+ "Rollback",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "FailureAction",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the failure action is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Rollback",
+ "description": "The upgrade will start rolling back automatically. The value is 1"
+ },
+ {
+ "value": "Manual",
+ "description": "The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2"
+ }
+ ]
+ }
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed.",
+ "enum": [
+ "None",
+ "Interrupted",
+ "HealthCheck",
+ "UpgradeDomainTimeout",
+ "OverallUpgradeTimeout"
+ ],
+ "x-ms-enum": {
+ "name": "FailureReason",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Indicates the reason is invalid or unknown. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Interrupted",
+ "description": "There was an external request to roll back the upgrade. The value is 1"
+ },
+ {
+ "value": "HealthCheck",
+ "description": "The upgrade failed due to health policy violations. The value is 2"
+ },
+ {
+ "value": "UpgradeDomainTimeout",
+ "description": "An upgrade domain took longer than the allowed upgrade domain timeout to process. The value is 3"
+ },
+ {
+ "value": "OverallUpgradeTimeout",
+ "description": "The overall upgrade took longer than the allowed upgrade timeout to process. The value is 4"
+ }
+ ]
+ }
+ },
+ "FailureUpgradeDomainProgressInfo": {
+ "description": "Information about the upgrade domain progress at the time of upgrade failure.",
+ "properties": {
+ "DomainName": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "NodeUpgradeProgressList": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfoList",
+ "description": "List of upgrading nodes and their statuses"
+ }
+ }
+ },
+ "ForceRestart": {
+ "type": "boolean",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).",
+ "default": false
+ },
+ "HealthCheckRetryTimeout": {
+ "type": "string",
+ "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H10M0S"
+ },
+ "HealthCheckStableDuration": {
+ "type": "string",
+ "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "HealthCheckWaitDuration": {
+ "type": "string",
+ "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "0"
+ },
+ "HealthEvaluation": {
+ "discriminator": "Kind",
+ "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/HealthEvaluationKind",
+ "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values."
+ },
+ "AggregatedHealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of the health evaluation, which represents a summary of the evaluation process."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "HealthEvaluationKind": {
+ "type": "string",
+ "description": "The health manager in the cluster performs health evaluations in determining the aggregated health state of an entity. This enumeration provides information on the kind of evaluation that was performed. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Event",
+ "Replicas",
+ "Partitions",
+ "DeployedServicePackages",
+ "DeployedApplications",
+ "Services",
+ "Nodes",
+ "Applications",
+ "SystemApplication",
+ "UpgradeDomainDeployedApplications",
+ "UpgradeDomainNodes",
+ "Replica",
+ "Partition",
+ "DeployedServicePackage",
+ "DeployedApplication",
+ "Service",
+ "Node",
+ "Application",
+ "DeltaNodesCheck",
+ "UpgradeDomainDeltaNodesCheck",
+ "ApplicationTypeApplications"
+ ],
+ "x-ms-enum": {
+ "name": "HealthEvaluationKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the health evaluation is invalid. The value is zero."
+ },
+ {
+ "value": "Event",
+ "description": "Indicates that the health evaluation is for a health event. The value is 1."
+ },
+ {
+ "value": "Replicas",
+ "description": "Indicates that the health evaluation is for the replicas of a partition. The value is 2."
+ },
+ {
+ "value": "Partitions",
+ "description": "Indicates that the health evaluation is for the partitions of a service. The value is 3."
+ },
+ {
+ "value": "DeployedServicePackages",
+ "description": "Indicates that the health evaluation is for the deployed service packages of a deployed application. The value is 4."
+ },
+ {
+ "value": "DeployedApplications",
+ "description": "Indicates that the health evaluation is for the deployed applications of an application. The value is 5."
+ },
+ {
+ "value": "Services",
+ "description": "Indicates that the health evaluation is for services of an application. The value is 6."
+ },
+ {
+ "value": "Nodes",
+ "description": "Indicates that the health evaluation is for the cluster nodes. The value is 7."
+ },
+ {
+ "value": "Applications",
+ "description": "Indicates that the health evaluation is for the cluster applications. The value is 8."
+ },
+ {
+ "value": "SystemApplication",
+ "description": "Indicates that the health evaluation is for the system application. The value is 9."
+ },
+ {
+ "value": "UpgradeDomainDeployedApplications",
+ "description": "Indicates that the health evaluation is for the deployed applications of an application in an upgrade domain. The value is 10."
+ },
+ {
+ "value": "UpgradeDomainNodes",
+ "description": "Indicates that the health evaluation is for the cluster nodes in an upgrade domain. The value is 11."
+ },
+ {
+ "value": "Replica",
+ "description": "Indicates that the health evaluation is for a replica. The value is 13."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates that the health evaluation is for a partition. The value is 14."
+ },
+ {
+ "value": "DeployedServicePackage",
+ "description": "Indicates that the health evaluation is for a deployed service package. The value is 16."
+ },
+ {
+ "value": "DeployedApplication",
+ "description": "Indicates that the health evaluation is for a deployed application. The value is 17."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates that the health evaluation is for a service. The value is 15."
+ },
+ {
+ "value": "Node",
+ "description": "Indicates that the health evaluation is for a node. The value is 12."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates that the health evaluation is for an application. The value is 18."
+ },
+ {
+ "value": "DeltaNodesCheck",
+ "description": "Indicates that the health evaluation is for the delta of unhealthy cluster nodes. The value is 19."
+ },
+ {
+ "value": "UpgradeDomainDeltaNodesCheck",
+ "description": "Indicates that the health evaluation is for the delta of unhealthy upgrade domain cluster nodes. The value is 20."
+ },
+ {
+ "value": "ApplicationTypeApplications",
+ "description": "– Indicates that the health evaluation is for applications of an application type. The value is 21."
+ }
+ ]
+ }
+ },
+ "HealthEvaluationWrapper": {
+ "description": "Wrapper object for health evaluation.",
+ "properties": {
+ "HealthEvaluation": {
+ "$ref": "#/definitions/HealthEvaluation",
+ "description": "Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity."
+ }
+ }
+ },
+ "HealthEvent": {
+ "description": "Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthInformation"
+ }
+ ],
+ "properties": {
+ "IsExpired": {
+ "type": "boolean",
+ "description": "Returns true if the health event is expired, otherwise false."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the health report was sent by the source."
+ },
+ "LastModifiedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the health report was last modified by the health store."
+ },
+ "LastOkTransitionAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.\nFor periodic reporting, many reports with the same state may have been generated.\nThis property returns the date and time when the first 'Ok' health report was received.\n\nIf the current health state is 'Error' or 'Warning', returns the date and time at which the health state was last in 'Ok', before transitioning to a different state.\n\nIf the health state was never 'Ok', the value will be zero date-time."
+ },
+ "LastWarningTransitionAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "If the current health state is 'Warning', this property returns the time at which the health report was first reported with 'Warning'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Warning' health report was received.\n\nIf the current health state is 'Ok' or 'Error', returns the date and time at which the health state was last in 'Warning', before transitioning to a different state.\n\nIf the health state was never 'Warning', the value will be zero date-time."
+ },
+ "LastErrorTransitionAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "If the current health state is 'Error', this property returns the time at which the health report was first reported with 'Error'. For periodic reporting, many reports with the same state may have been generated however, this property returns only the date and time at the first 'Error' health report was received.\n\nIf the current health state is 'Ok' or 'Warning', returns the date and time at which the health state was last in 'Error', before transitioning to a different state.\n\nIf the health state was never 'Error', the value will be zero date-time."
+ }
+ }
+ },
+ "HealthInformation": {
+ "description": "Represents common health report information. It is included in all health reports sent to health store and in all health events returned by health queries.",
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState"
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "The source name that identifies the client/watchdog/system component that generated the health information."
+ },
+ "Property": {
+ "type": "string",
+ "description": "The property of the health information. An entity can have health reports for different properties.\nThe property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.\nFor example, a reporter with SourceId \"LocalWatchdog\" can monitor the state of the available disk on a node,\nso it can report \"AvailableDisk\" property on that node.\nThe same reporter can monitor the node connectivity, so it can report a property \"Connectivity\" on the same node.\nIn the health store, these reports are treated as separate health events for the specified node.\n\nTogether with the SourceId, the property uniquely identifies the health information."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "TimeToLiveInMilliSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.\nWhen clients report periodically, they should send reports with higher frequency than time to live.\nIf clients report on transition, they can set the time to live to infinite.\nWhen time to live expires, the health event that contains the health information\nis either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.\n\nIf not specified, time to live defaults to infinite value."
+ },
+ "Description": {
+ "type": "string",
+ "description": "The description of the health information. It represents free text used to add human readable information about the report.\nThe maximum string length for the description is 4096 characters.\nIf the provided string is longer, it will be automatically truncated.\nWhen truncated, the last characters of the description contain a marker \"[Truncated]\", and total string size is 4096 characters.\nThe presence of the marker indicates to users that truncation occurred.\nNote that when truncated, the description has less than 4096 characters from the original string."
+ },
+ "SequenceNumber": {
+ "type": "string",
+ "description": "The sequence number for this health report as a numeric string.\nThe report sequence number is used by the health store to detect stale reports.\nIf not specified, a sequence number is auto-generated by the health client when a report is added."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Value that indicates whether the report is removed from health store when it expires.\nIf set to true, the report is removed from the health store after it expires.\nIf set to false, the report is treated as an error when expired. The value of this property is false by default.\nWhen clients report periodically, they should set RemoveWhenExpired false (default).\nThis way, if the reporter has issues (e.g. deadlock) and can't report, the entity is evaluated at error when the health report expires.\nThis flags the entity as being in Error health state."
+ },
+ "HealthReportId": {
+ "type": "string",
+ "description": "A health report ID which identifies the health report and can be used to find more detailed information about a specific health event at\naka.ms/sfhealthid"
+ }
+ }
+ },
+ "Int64RangePartitionInformation": {
+ "description": "Describes the partition information for the integer range that is based on partition schemes.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionInformation"
+ }
+ ],
+ "x-ms-discriminator-value": "Int64Range",
+ "properties": {
+ "LowKey": {
+ "type": "string",
+ "description": "Specifies the minimum key value handled by this partition."
+ },
+ "HighKey": {
+ "type": "string",
+ "description": "Specifies the maximum key value handled by this partition."
+ }
+ }
+ },
+ "MinInstanceCount": {
+ "type": "integer",
+ "default": 1,
+ "minimum": 1,
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "type": "integer",
+ "default": 0,
+ "minimum": 0,
+ "maximum": 100,
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MonitoringPolicyDescription": {
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode.",
+ "properties": {
+ "FailureAction": {
+ "$ref": "#/definitions/FailureAction",
+ "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode."
+ },
+ "HealthCheckWaitDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckWaitDuration",
+ "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckStableDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckStableDuration",
+ "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckRetryTimeoutInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckRetryTimeout",
+ "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeTimeout",
+ "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeDomainTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDomainTimeout",
+ "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ }
+ }
+ },
+ "NamedPartitionInformation": {
+ "description": "Describes the partition information for the name as a string that is based on partition schemes.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionInformation"
+ }
+ ],
+ "x-ms-discriminator-value": "Named",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the partition."
+ }
+ }
+ },
+ "NextUpgradeDomain": {
+ "type": "string",
+ "description": "The name of the next upgrade domain to be processed."
+ },
+ "NodeDeactivationInfo": {
+ "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.",
+ "properties": {
+ "NodeDeactivationIntent": {
+ "$ref": "#/definitions/NodeDeactivationIntent",
+ "description": "The intent or the reason for deactivating the node. Following are the possible values for it."
+ },
+ "NodeDeactivationStatus": {
+ "$ref": "#/definitions/NodeDeactivationStatus",
+ "description": "The status of node deactivation operation. Following are the possible values."
+ },
+ "NodeDeactivationTask": {
+ "$ref": "#/definitions/NodeDeactivationTaskList",
+ "description": "List of tasks representing the deactivation operation on the node."
+ },
+ "PendingSafetyChecks": {
+ "$ref": "#/definitions/SafetyCheckInfoList",
+ "description": "List of pending safety checks"
+ }
+ }
+ },
+ "NodeDeactivationIntent": {
+ "type": "string",
+ "description": "The intent or the reason for deactivating the node. Following are the possible values for it.",
+ "enum": [
+ "Invalid",
+ "Pause",
+ "Restart",
+ "RemoveData",
+ "RemoveNode"
+ ],
+ "x-ms-enum": {
+ "name": "NodeDeactivationIntent",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the node deactivation intent is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used."
+ },
+ {
+ "value": "Pause",
+ "description": "Indicates that the node should be paused. The value is 1."
+ },
+ {
+ "value": "Restart",
+ "description": "Indicates that the intent is for the node to be restarted after a short period of time. Service Fabric does not restart the node, this action is done outside of Service Fabric. The value is 2."
+ },
+ {
+ "value": "RemoveData",
+ "description": "Indicates that the intent is to reimage the node. Service Fabric does not reimage the node, this action is done outside of Service Fabric. The value is 3."
+ },
+ {
+ "value": "RemoveNode",
+ "description": "Indicates that the node is being decommissioned and is not expected to return. Service Fabric does not decommission the node, this action is done outside of Service Fabric. The value is 4."
+ }
+ ]
+ }
+ },
+ "NodeDeactivationStatus": {
+ "type": "string",
+ "description": "The status of node deactivation operation. Following are the possible values.",
+ "enum": [
+ "None",
+ "SafetyCheckInProgress",
+ "SafetyCheckComplete",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "NodeDeactivationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status is associated with the task. The value is zero."
+ },
+ {
+ "value": "SafetyCheckInProgress",
+ "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that one or more safety checks are in progress. The value is 1."
+ },
+ {
+ "value": "SafetyCheckComplete",
+ "description": "When a node is deactivated Service Fabric performs checks to ensure that the operation is safe to proceed to ensure availability of the service and reliability of the state. This value indicates that all safety checks have been completed. The value is 2."
+ },
+ {
+ "value": "Completed",
+ "description": "The task is completed. The value is 3."
+ }
+ ]
+ }
+ },
+ "NodeDeactivationTask": {
+ "description": "The task representing the deactivation operation on the node.",
+ "properties": {
+ "NodeDeactivationTaskId": {
+ "$ref": "#/definitions/NodeDeactivationTaskId",
+ "description": "Identity of the task related to deactivation operation on the node."
+ },
+ "NodeDeactivationIntent": {
+ "$ref": "#/definitions/NodeDeactivationIntent",
+ "description": "The intent or the reason for deactivating the node. Following are the possible values for it."
+ }
+ }
+ },
+ "NodeDeactivationTaskId": {
+ "description": "Identity of the task related to deactivation operation on the node.",
+ "properties": {
+ "Id": {
+ "type": "string",
+ "description": "Value of the task id."
+ },
+ "NodeDeactivationTaskType": {
+ "$ref": "#/definitions/NodeDeactivationTaskType",
+ "description": "The type of the task that performed the node deactivation. Following are the possible values."
+ }
+ }
+ },
+ "NodeDeactivationTaskList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeDeactivationTask"
+ },
+ "description": "List of tasks representing the deactivation operation on the node."
+ },
+ "NodeDeactivationTaskType": {
+ "type": "string",
+ "description": "The type of the task that performed the node deactivation. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Infrastructure",
+ "Repair",
+ "Client"
+ ],
+ "x-ms-enum": {
+ "name": "NodeDeactivationTaskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the node deactivation task type is invalid. All Service Fabric enumerations have the invalid type. The value is zero. This value is not used."
+ },
+ {
+ "value": "Infrastructure",
+ "description": "Specifies the task created by Infrastructure hosting the nodes. The value is 1."
+ },
+ {
+ "value": "Repair",
+ "description": "Specifies the task that was created by the Repair Manager service. The value is 2."
+ },
+ {
+ "value": "Client",
+ "description": "Specifies that the task was created by using the public API. The value is 3."
+ }
+ ]
+ }
+ },
+ "NodeEvent": {
+ "description": "Represents the base for all Node Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ }
+ },
+ "required": [
+ "NodeName"
+ ],
+ "x-ms-discriminator-value": "NodeEvent"
+ },
+ "NodeEventList": {
+ "description": "A list of NodeEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ },
+ "NodeHealth": {
+ "description": "Information about the health of a Service Fabric node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node whose health information is described by this object."
+ }
+ }
+ },
+ "NodeHealthEvaluation": {
+ "x-ms-discriminator-value": "Node",
+ "description": "Represents health evaluation for a node, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the node. The types of the unhealthy evaluations can be EventHealthEvaluation."
+ }
+ }
+ },
+ "NodeHealthState": {
+ "description": "Represents the health state of a node, which contains the node identifier and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "Id": {
+ "$ref": "#/definitions/NodeId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name."
+ }
+ }
+ },
+ "NodeHealthStateChunk": {
+ "description": "Represents the health state chunk of a node, which contains the node name and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ }
+ }
+ },
+ "NodeHealthStateChunkList": {
+ "description": "The list of node health state chunks in the cluster that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunkList"
+ }
+ ],
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeHealthStateChunk"
+ },
+ "description": "The list of node health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "NodeHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a node should be included in the returned cluster health chunk.\nOne filter can match zero, one or multiple nodes, depending on its properties.\nCan be specified in the cluster health chunk query description.",
+ "properties": {
+ "NodeNameFilter": {
+ "type": "string",
+ "description": "Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.\nIf the node doesn't exist, no node is returned in the cluster health chunk based on this filter.\nIf the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.\nIf not specified, all nodes that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only nodes that match the filter are returned. All nodes are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the node name is specified. If the filter has default value and node name is specified, the matching node is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ }
+ }
+ },
+ "NodeId": {
+ "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.",
+ "properties": {
+ "Id": {
+ "type": "string",
+ "description": "Value of the node Id. This is a 128 bit integer."
+ }
+ }
+ },
+ "NodeIdList": {
+ "description": "A list of NodeIds.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeId"
+ }
+ },
+ "NodeInfo": {
+ "description": "Information about a node in Service Fabric cluster.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "The IP address or fully qualified domain name of the node."
+ },
+ "Type": {
+ "type": "string",
+ "description": "The type of the node."
+ },
+ "CodeVersion": {
+ "type": "string",
+ "description": "The version of Service Fabric binaries that the node is running."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The version of Service Fabric cluster manifest that the node is using."
+ },
+ "NodeStatus": {
+ "$ref": "#/definitions/NodeStatus",
+ "description": "The status of the node."
+ },
+ "NodeUpTimeInSeconds": {
+ "type": "string",
+ "description": "Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if the node is a seed node or not. Returns true if the node is a seed node, otherwise false. A quorum of seed nodes are required for proper operation of Service Fabric cluster."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "The upgrade domain of the node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "The fault domain of the node."
+ },
+ "Id": {
+ "$ref": "#/definitions/NodeId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name."
+ },
+ "InstanceId": {
+ "type": "string",
+ "description": "The ID representing the node instance. While the ID of the node is deterministically generated from the node name and remains same across restarts, the InstanceId changes every time node restarts."
+ },
+ "NodeDeactivationInfo": {
+ "$ref": "#/definitions/NodeDeactivationInfo",
+ "description": "Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated."
+ },
+ "IsStopped": {
+ "type": "boolean",
+ "description": "Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false."
+ },
+ "NodeDownTimeInSeconds": {
+ "type": "string",
+ "description": "Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down."
+ },
+ "NodeUpAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date time in UTC when the node came up. If the node has never been up then this value will be zero date time."
+ },
+ "NodeDownAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date time in UTC when the node went down. If node has never been down then this value will be zero date time."
+ }
+ }
+ },
+ "NodeLoadInfo": {
+ "description": "Information about load on a Service Fabric node. It holds a summary of all metrics and their load on a node.",
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "Name of the node for which the load information is provided by this object."
+ },
+ "NodeLoadMetricInformation": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeLoadMetricInformation"
+ },
+ "description": "List that contains metrics and their load information on this node."
+ }
+ }
+ },
+ "NodeLoadMetricInformation": {
+ "description": "Represents data structure that contains load information for a certain metric on a node.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the metric for which this load information is provided."
+ },
+ "NodeCapacity": {
+ "type": "string",
+ "description": "Total capacity on the node for this metric."
+ },
+ "NodeLoad": {
+ "type": "string",
+ "description": "Current load on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentNodeLoad."
+ },
+ "NodeRemainingCapacity": {
+ "type": "string",
+ "description": "The remaining capacity on the node for this metric. In future releases of Service Fabric this parameter will be deprecated in favor of NodeCapacityRemaining."
+ },
+ "IsCapacityViolation": {
+ "type": "boolean",
+ "description": "Indicates if there is a capacity violation for this metric on the node."
+ },
+ "NodeBufferedCapacity": {
+ "type": "string",
+ "description": "The value that indicates the reserved capacity for this metric on the node."
+ },
+ "NodeRemainingBufferedCapacity": {
+ "type": "string",
+ "description": "The remaining reserved capacity for this metric on the node. In future releases of Service Fabric this parameter will be deprecated in favor of BufferedNodeCapacityRemaining."
+ },
+ "CurrentNodeLoad": {
+ "type": "string",
+ "format": "double",
+ "description": "Current load on the node for this metric."
+ },
+ "NodeCapacityRemaining": {
+ "type": "string",
+ "format": "double",
+ "description": "The remaining capacity on the node for the metric."
+ },
+ "BufferedNodeCapacityRemaining": {
+ "type": "string",
+ "format": "double",
+ "description": "The remaining capacity which is not reserved by NodeBufferPercentage for this metric on the node."
+ },
+ "PlannedNodeLoadRemoval": {
+ "type": "string",
+ "format": "double",
+ "description": "This value represents the load of the replicas that are planned to be removed in the future.\nThis kind of load is reported for replicas that are currently being moving to other nodes and for replicas that are currently being dropped but still use the load on the source node."
+ }
+ }
+ },
+ "NodeName": {
+ "type": "string",
+ "description": "The name of a Service Fabric node."
+ },
+ "NodeType": {
+ "type": "string",
+ "description": "The type name of a Service Fabric node.\nRefer to the article [The relationship between Service Fabric node types and Virtual Machine Scale Sets](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-nodetypes) for more details."
+ },
+ "NodesHealthEvaluation": {
+ "x-ms-discriminator-value": "Nodes",
+ "description": "Represents health evaluation for nodes, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes found in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "NodeStatus": {
+ "type": "string",
+ "description": "The status of the node.",
+ "enum": [
+ "Invalid",
+ "Up",
+ "Down",
+ "Enabling",
+ "Disabling",
+ "Disabled",
+ "Unknown",
+ "Removed"
+ ],
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the node status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Up",
+ "description": "Indicates the node is up. The value is 1."
+ },
+ {
+ "value": "Down",
+ "description": "Indicates the node is down. The value is 2."
+ },
+ {
+ "value": "Enabling",
+ "description": "Indicates the node is in process of being enabled. The value is 3."
+ },
+ {
+ "value": "Disabling",
+ "description": "Indicates the node is in the process of being disabled. The value is 4."
+ },
+ {
+ "value": "Disabled",
+ "description": "Indicates the node is disabled. The value is 5."
+ },
+ {
+ "value": "Unknown",
+ "description": "Indicates the node is unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime.The value is 6."
+ },
+ {
+ "value": "Removed",
+ "description": "Indicates the node is removed. A node would be in Removed state if NodeStateRemoved API has been called for this node. In other words, Service Fabric has been informed that the persisted state on the node has been permanently lost. The value is 7."
+ }
+ ]
+ }
+ },
+ "NodeUpgradePhase": {
+ "type": "string",
+ "description": "The state of the upgrading node.",
+ "enum": [
+ "Invalid",
+ "PreUpgradeSafetyCheck",
+ "Upgrading",
+ "PostUpgradeSafetyCheck"
+ ],
+ "x-ms-enum": {
+ "name": "NodeUpgradePhase",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "PreUpgradeSafetyCheck",
+ "description": "The upgrade has not started yet due to pending safety checks. The value is 1"
+ },
+ {
+ "value": "Upgrading",
+ "description": "The upgrade is in progress. The value is 2"
+ },
+ {
+ "value": "PostUpgradeSafetyCheck",
+ "description": "The upgrade has completed and post upgrade safety checks are being performed. The value is 3"
+ }
+ ]
+ }
+ },
+ "NodeUpgradeProgressInfo": {
+ "description": "Information about the upgrading node and its status",
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "UpgradePhase": {
+ "$ref": "#/definitions/NodeUpgradePhase",
+ "description": "The state of the upgrading node."
+ },
+ "PendingSafetyChecks": {
+ "$ref": "#/definitions/SafetyCheckInfoList",
+ "description": "List of pending safety checks"
+ }
+ }
+ },
+ "NodeUpgradeProgressInfoList": {
+ "type": "array",
+ "description": "List of upgrading nodes and their statuses",
+ "items": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfo"
+ }
+ },
+ "PagedApplicationInfoList": {
+ "description": "The list of applications in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of application information.",
+ "items": {
+ "$ref": "#/definitions/ApplicationInfo"
+ }
+ }
+ }
+ },
+ "PagedDeployedApplicationInfoList": {
+ "description": "The list of deployed applications in activating, downloading, or active states on a node.\nThe list is paged when all of the results cannot fit in a single message.\nThe next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of deployed application information.",
+ "items": {
+ "$ref": "#/definitions/DeployedApplicationInfo"
+ }
+ }
+ }
+ },
+ "PagedNodeInfoList": {
+ "description": "The list of nodes in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of node information.",
+ "items": {
+ "$ref": "#/definitions/NodeInfo"
+ }
+ }
+ }
+ },
+ "PagedServicePartitionInfoList": {
+ "description": "The list of partition in the cluster for a service. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of service partition information.",
+ "items": {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ }
+ }
+ },
+ "PagedReplicaInfoList": {
+ "description": "The list of replicas in the cluster for a given partition. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of replica information.",
+ "items": {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ }
+ }
+ },
+ "PagedServiceInfoList": {
+ "description": "The list of services in the cluster for an application. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of service information.",
+ "items": {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ }
+ }
+ },
+ "PartitionAnalysisEvent": {
+ "description": "Represents the base for all Partition Analysis Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "Metadata": {
+ "$ref": "#/definitions/AnalysisEventMetadata",
+ "description": "Metadata about an Analysis Event."
+ }
+ },
+ "required": [
+ "Metadata"
+ ],
+ "x-ms-discriminator-value": "PartitionAnalysisEvent"
+ },
+ "PartitionEvent": {
+ "description": "Represents the base for all Partition Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ },
+ "required": [
+ "PartitionId"
+ ],
+ "x-ms-discriminator-value": "PartitionEvent"
+ },
+ "PartitionEventList": {
+ "description": "A list of PartitionEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ },
+ "PartitionHealth": {
+ "description": "Information about the health of a Service Fabric partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "ID of the partition whose health information is described by this object."
+ },
+ "ReplicaHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaHealthState"
+ },
+ "description": "The list of replica health states associated with the partition."
+ }
+ }
+ },
+ "PartitionHealthEvaluation": {
+ "x-ms-discriminator-value": "Partition",
+ "description": "Represents health evaluation for a partition, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition whose health evaluation is described by this object."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the partition. The types of the unhealthy evaluations can be ReplicasHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "PartitionHealthState": {
+ "description": "Represents the health state of a partition, which contains the partition identifier and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition whose health state is described by this object."
+ }
+ }
+ },
+ "PartitionHealthStateChunk": {
+ "description": "Represents the health state chunk of a partition, which contains the partition ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk query description.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The Id of the partition."
+ },
+ "ReplicaHealthStateChunks": {
+ "$ref": "#/definitions/ReplicaHealthStateChunkList",
+ "description": "The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "PartitionHealthStateChunkList": {
+ "description": "The list of partition health state chunks that respect the input filters in the chunk query description.\nReturned by get cluster health state chunks query as part of the parent application hierarchy.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionHealthStateChunk"
+ },
+ "description": "The list of partition health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "PartitionHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a partition should be included as a child of a service in the cluster health chunk.\nThe partitions are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple partitions, depending on its properties.",
+ "properties": {
+ "PartitionIdFilter": {
+ "type": "string",
+ "format": "uuid",
+ "description": "ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.\nIf the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.\nIf the partition exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all partitions that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only partitions that match the filter are returned. All partitions are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the partition ID is specified. If the filter has default value and partition ID is specified, the matching partition is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "ReplicaFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which replicas to be included in the returned cluster health chunk as children of the parent partition. The replicas are returned only if the parent partition matches a filter.\nIf the list is empty, no replicas are returned. All the replicas are used to evaluate the parent partition aggregated health state, regardless of the input filters.\nThe partition filter may specify multiple replica filters.\nFor example, it can specify a filter to return all replicas with health state Error and another filter to always include a replica identified by its replica id."
+ }
+ }
+ },
+ "PartitionId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "PartitionInformation": {
+ "discriminator": "ServicePartitionKind",
+ "description": "Information about the partition identity, partitioning scheme and keys supported by it.",
+ "required": [
+ "ServicePartitionKind"
+ ],
+ "properties": {
+ "ServicePartitionKind": {
+ "$ref": "#/definitions/ServicePartitionKind",
+ "description": "The kind of partitioning scheme used to partition the service."
+ },
+ "Id": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ }
+ },
+ "ProvisionFabricDescription": {
+ "description": "Describes the parameters for provisioning a cluster.",
+ "properties": {
+ "CodeFilePath": {
+ "type": "string",
+ "description": "The cluster code package file path."
+ },
+ "ClusterManifestFilePath": {
+ "type": "string",
+ "description": "The cluster manifest file path."
+ }
+ }
+ },
+ "ProvisionApplicationTypeKind": {
+ "type": "string",
+ "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision.",
+ "enum": [
+ "Invalid",
+ "ImageStorePath",
+ "ExternalStore"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisionApplicationTypeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the provision kind is invalid. This value is default and should not be used. The value is zero."
+ },
+ {
+ "value": "ImageStorePath",
+ "description": "Indicates that the provision is for a package that was previously uploaded to the image store. The value is 1."
+ },
+ {
+ "value": "ExternalStore",
+ "description": "Indicates that the provision is for an application package that was previously uploaded to an external store. The application package ends with the extension *.sfpkg. The value is 2."
+ }
+ ]
+ }
+ },
+ "ProvisionApplicationTypeDescriptionBase": {
+ "discriminator": "Kind",
+ "description": "Represents the type of registration or provision requested, and if the operation needs to be asynchronous or not. Supported types of provision operations are from either image store or external store.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ProvisionApplicationTypeKind",
+ "description": "The kind of application type registration or provision requested. The application package can be registered or provisioned either from the image store or from an external store. Following are the kinds of the application type provision."
+ },
+ "Async": {
+ "type": "boolean",
+ "description": "Indicates whether or not provisioning should occur asynchronously. When set to true, the provision operation returns when the request is accepted by the system, and the provision operation continues without any timeout limit. The default value is false. For large application packages, we recommend setting the value to true."
+ }
+ },
+ "required": [
+ "Kind",
+ "Async"
+ ]
+ },
+ "ProvisionApplicationTypeDescription": {
+ "description": "Describes the operation to register or provision an application type using an application package uploaded to the Service Fabric image store.",
+ "required": [
+ "ApplicationTypeBuildPath"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeBuildPath": {
+ "description": "The relative path for the application package in the image store specified during the prior upload operation.",
+ "type": "string"
+ },
+ "ApplicationPackageCleanupPolicy": {
+ "$ref": "#/definitions/ApplicationPackageCleanupPolicy",
+ "description": "The kind of action that needs to be taken for cleaning up the application package after successful provision."
+ }
+ },
+ "x-ms-discriminator-value": "ImageStorePath"
+ },
+ "ExternalStoreProvisionApplicationTypeDescription": {
+ "description": "Describes the operation to register or provision an application type using an application package from an external store instead of a package uploaded to the Service Fabric image store.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase"
+ }
+ ],
+ "properties": {
+ "ApplicationPackageDownloadUri": {
+ "description": "The path to the '.sfpkg' application package from where the application package can be downloaded using HTTP or HTTPS protocols. The application package can be stored in an external store that provides GET operation to download the file. Supported protocols are HTTP and HTTPS, and the path must allow READ access.",
+ "type": "string"
+ },
+ "ApplicationTypeName": {
+ "description": "The application type name represents the name of the application type found in the application manifest.",
+ "type": "string"
+ },
+ "ApplicationTypeVersion": {
+ "description": "The application type version represents the version of the application type found in the application manifest.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExternalStore",
+ "required": [
+ "ApplicationPackageDownloadUri",
+ "ApplicationTypeName",
+ "ApplicationTypeVersion"
+ ]
+ },
+ "UnprovisionFabricDescription": {
+ "description": "Describes the parameters for unprovisioning a cluster.",
+ "properties": {
+ "CodeVersion": {
+ "type": "string",
+ "description": "The cluster code package version."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The cluster manifest version."
+ }
+ }
+ },
+ "ResumeClusterUpgradeDescription": {
+ "description": "Describes the parameters for resuming a cluster upgrade.",
+ "properties": {
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "The next upgrade domain for this cluster upgrade."
+ }
+ },
+ "required": [
+ "UpgradeDomain"
+ ]
+ },
+ "StartClusterUpgradeDescription": {
+ "description": "Describes the parameters for starting a cluster upgrade.",
+ "properties": {
+ "CodeVersion": {
+ "type": "string",
+ "description": "The cluster code version."
+ },
+ "ConfigVersion": {
+ "type": "string",
+ "description": "The cluster configuration version."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "SortOrder": {
+ "$ref": "#/definitions/UpgradeSortOrder",
+ "description": "Defines the order in which an upgrade proceeds through the cluster."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "EnableDeltaHealthEvaluation": {
+ "type": "boolean",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "ClusterUpgradeHealthPolicy": {
+ "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject",
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade."
+ },
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description."
+ }
+ }
+ },
+ "UpdateClusterUpgradeDescription": {
+ "description": "Parameters for updating a cluster upgrade.",
+ "properties": {
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeType",
+ "description": "The type of upgrade out of the following possible values."
+ },
+ "UpdateDescription": {
+ "$ref": "#/definitions/RollingUpgradeUpdateDescription",
+ "description": "Describes the parameters for updating a rolling upgrade of application or cluster."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "EnableDeltaHealthEvaluation": {
+ "$ref": "#/definitions/DeltaHealthEvaluationBool",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "ClusterUpgradeHealthPolicy": {
+ "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject",
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade."
+ },
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ }
+ }
+ },
+ "SafetyCheckKind": {
+ "type": "string",
+ "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks.",
+ "enum": [
+ "Invalid",
+ "EnsureSeedNodeQuorum",
+ "EnsurePartitionQuorum",
+ "WaitForPrimaryPlacement",
+ "WaitForPrimarySwap",
+ "WaitForReconfiguration",
+ "WaitForInbuildReplica",
+ "EnsureAvailability"
+ ],
+ "x-ms-enum": {
+ "name": "SafetyCheckKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the upgrade safety check kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "EnsureSeedNodeQuorum",
+ "description": "Indicates that if we bring down the node then this will result in global seed node quorum loss. The value is 1."
+ },
+ {
+ "value": "EnsurePartitionQuorum",
+ "description": "Indicates that there is some partition for which if we bring down the replica on the node, it will result in quorum loss for that partition. The value is 2."
+ },
+ {
+ "value": "WaitForPrimaryPlacement",
+ "description": "Indicates that there is some replica on the node that was moved out of this node due to upgrade. Service Fabric is now waiting for the primary to be moved back to this node. The value is 3."
+ },
+ {
+ "value": "WaitForPrimarySwap",
+ "description": "Indicates that Service Fabric is waiting for a primary replica to be moved out of the node before starting upgrade on that node. The value is 4."
+ },
+ {
+ "value": "WaitForReconfiguration",
+ "description": "Indicates that there is some replica on the node that is involved in a reconfiguration. Service Fabric is waiting for the reconfiguration to be complete before staring upgrade on that node. The value is 5."
+ },
+ {
+ "value": "WaitForInbuildReplica",
+ "description": "Indicates that there is either a replica on the node that is going through copy, or there is a primary replica on the node that is copying data to some other replica. In both cases, bringing down the replica on the node due to upgrade will abort the copy. The value is 6."
+ },
+ {
+ "value": "EnsureAvailability",
+ "description": "Indicates that there is either a stateless service partition on the node having exactly one instance, or there is a primary replica on the node for which the partition is quorum loss. In both cases, bringing down the replicas due to upgrade will result in loss of availability. The value is 7."
+ }
+ ]
+ }
+ },
+ "SafetyCheck": {
+ "discriminator": "Kind",
+ "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/SafetyCheckKind",
+ "description": "The kind of safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state. Following are the kinds of safety checks."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "PartitionSafetyCheck": {
+ "description": "Represents a safety check for the service partition being performed by service fabric before continuing with operations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SafetyCheck"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition which is undergoing the safety check."
+ }
+ }
+ },
+ "EnsureAvailabilitySafetyCheck": {
+ "description": "Safety check that waits to ensure the availability of the partition. It waits until there are replicas available such that bringing down this replica will not cause availability loss for the partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "EnsureAvailability"
+ },
+ "EnsurePartitionQuorumSafetyCheck": {
+ "description": "Safety check that ensures that a quorum of replicas are not lost for a partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "EnsurePartitionQuorum"
+ },
+ "SeedNodeSafetyCheck": {
+ "description": "Represents a safety check for the seed nodes being performed by service fabric before continuing with node level operations.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "EnsureSeedNodeQuorum"
+ },
+ "PartitionsHealthEvaluation": {
+ "x-ms-discriminator-value": "Partitions",
+ "description": "Represents health evaluation for the partitions of a service, containing health evaluations for each unhealthy partition that impacts current aggregated health state. Can be returned when evaluating service health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyPartitionsPerService": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of partitions of the service from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ReplicaEvent": {
+ "description": "Represents the base for all Replica Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId_Integer",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ },
+ "required": [
+ "PartitionId",
+ "ReplicaId"
+ ],
+ "x-ms-discriminator-value": "ReplicaEvent"
+ },
+ "ReplicaEventList": {
+ "description": "A list of ReplicaEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ },
+ "ReplicaHealth": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "discriminator": "ServiceKind",
+ "description": "Represents a base class for stateful service replica or stateless service instance health.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.",
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition to which this replica belongs."
+ }
+ },
+ "required": [
+ "ServiceKind"
+ ]
+ },
+ "ReplicaHealthEvaluation": {
+ "x-ms-discriminator-value": "Replica",
+ "description": "Represents health evaluation for a replica, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition to which the replica belongs."
+ },
+ "ReplicaOrInstanceId": {
+ "$ref": "#/definitions/ReplicaOrInstanceId",
+ "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the replica. The types of the unhealthy evaluations can be EventHealthEvaluation."
+ }
+ }
+ },
+ "ReplicaHealthState": {
+ "discriminator": "ServiceKind",
+ "required": [
+ "ServiceKind"
+ ],
+ "description": "Represents a base class for stateful service replica or stateless service instance health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The ID of the partition to which this replica belongs."
+ }
+ }
+ },
+ "ReplicaHealthStateChunk": {
+ "description": "Represents the health state chunk of a stateful service replica or a stateless service instance.\nThe replica health state contains the replica ID and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ReplicaOrInstanceId": {
+ "$ref": "#/definitions/ReplicaOrInstanceId",
+ "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID."
+ }
+ }
+ },
+ "ReplicaHealthStateChunkList": {
+ "description": "The list of replica health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaHealthStateChunk"
+ },
+ "description": "The list of replica health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "ReplicaHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a replica should be included as a child of a partition in the cluster health chunk.\nThe replicas are only returned if the parent entities match a filter specified in the cluster health chunk query description. The parent partition, service and application must be included in the cluster health chunk.\nOne filter can match zero, one or multiple replicas, depending on its properties.",
+ "properties": {
+ "ReplicaOrInstanceIdFilter": {
+ "type": "string",
+ "description": "Id of the stateful service replica or stateless service instance that matches the filter. The filter is applied only to the specified replica, if it exists.\nIf the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.\nIf the replica exists, it is included in the cluster health chunk if it respects the other filter properties.\nIf not specified, all replicas that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only replicas that match the filter are returned. All replicas are used to evaluate the parent partition aggregated health state.\nIf not specified, default value is None, unless the replica ID is specified. If the filter has default value and replica ID is specified, the matching replica is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ }
+ }
+ },
+ "ReplicaId": {
+ "type": "string",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "ReplicaId_Integer": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "ReplicaOrInstanceId": {
+ "type": "string",
+ "description": "Id of a stateful service replica or a stateless service instance. This ID is used in the queries that apply to both stateful and stateless services. It is used by Service Fabric to uniquely identify a replica of a partition of a stateful service or an instance of a stateless service partition. It is unique within a partition and does not change for the lifetime of the replica or the instance. If a stateful replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the ID. If a stateless instance is failed over on the same or different node it will get a different value for the ID."
+ },
+ "ReplicaInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about the identity, status, health, node name, uptime, and other details about the replica.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "ReplicaStatus": {
+ "$ref": "#/definitions/ReplicaStatus",
+ "description": "The status of a replica of a service."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "Address": {
+ "type": "string",
+ "description": "The address the replica is listening on."
+ },
+ "LastInBuildDurationInSeconds": {
+ "type": "string",
+ "description": "The last in build duration of the replica in seconds."
+ }
+ }
+ },
+ "ReplicaRole": {
+ "type": "string",
+ "description": "The role of a replica of a stateful service.",
+ "enum": [
+ "Unknown",
+ "None",
+ "Primary",
+ "IdleSecondary",
+ "ActiveSecondary"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicaRole",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the initial role that a replica is created in. The value is zero."
+ },
+ {
+ "value": "None",
+ "description": "Specifies that the replica has no responsibility in regard to the replica set. The value is 1"
+ },
+ {
+ "value": "Primary",
+ "description": "Refers to the replica in the set on which all read and write operations are complete in order to enforce strong consistency semantics. Read operations are handled directly by the Primary replica, while write operations must be acknowledged by a quorum of the replicas in the replica set. There can only be one Primary replica in a replica set at a time. The value is 2."
+ },
+ {
+ "value": "IdleSecondary",
+ "description": "Refers to a replica in the set that receives a state transfer from the Primary replica to prepare for becoming an active Secondary replica. There can be multiple Idle Secondary replicas in a replica set at a time. Idle Secondary replicas do not count as a part of a write quorum. The value is 3."
+ },
+ {
+ "value": "ActiveSecondary",
+ "description": "Refers to a replica in the set that receives state updates from the Primary replica, applies them, and sends acknowledgements back. Secondary replicas must participate in the write quorum for a replica set. There can be multiple active Secondary replicas in a replica set at a time. The number of active Secondary replicas is configurable that the reliability subsystem should maintain. The value is 4."
+ }
+ ]
+ }
+ },
+ "ReplicasHealthEvaluation": {
+ "x-ms-discriminator-value": "Replicas",
+ "description": "Represents health evaluation for replicas, containing health evaluations for each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating partition health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "MaxPercentUnhealthyReplicasPerPartition": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of replicas in the partition from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ReplicaStatus": {
+ "type": "string",
+ "description": "The status of a replica of a service.",
+ "enum": [
+ "Invalid",
+ "InBuild",
+ "Standby",
+ "Ready",
+ "Down",
+ "Dropped"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicaStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the replica status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "InBuild",
+ "description": "The replica is being built. This means that a primary replica is seeding this replica. The value is 1."
+ },
+ {
+ "value": "Standby",
+ "description": "The replica is in standby. The value is 2."
+ },
+ {
+ "value": "Ready",
+ "description": "The replica is ready. The value is 3."
+ },
+ {
+ "value": "Down",
+ "description": "The replica is down. The value is 4."
+ },
+ {
+ "value": "Dropped",
+ "description": "Replica is dropped. This means that the replica has been removed from the replica set. If it is persisted, its state has been deleted. The value is 5."
+ }
+ ]
+ }
+ },
+ "RestartNodeDescription": {
+ "description": "Describes the parameters to restart a Service Fabric node.",
+ "properties": {
+ "NodeInstanceId": {
+ "type": "string",
+ "description": "The instance ID of the target node. If instance ID is specified the node is restarted only if it matches with the current instance of the node. A default value of \"0\" would match any instance ID. The instance ID can be obtained using get node query.",
+ "default": "0"
+ },
+ "CreateFabricDump": {
+ "type": "string",
+ "description": "Specify True to create a dump of the fabric node process. This is case-sensitive.",
+ "enum": [
+ "False",
+ "True"
+ ],
+ "default": "False",
+ "x-ms-enum": {
+ "name": "CreateFabricDump",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "False"
+ },
+ {
+ "value": "True"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "NodeInstanceId"
+ ]
+ },
+ "SafetyCheckInfoList": {
+ "type": "array",
+ "description": "List of pending safety checks",
+ "items": {
+ "$ref": "#/definitions/SafetyCheckWrapper"
+ }
+ },
+ "SafetyCheckWrapper": {
+ "description": "A wrapper for the safety check object. Safety checks are performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state.",
+ "properties": {
+ "SafetyCheck": {
+ "$ref": "#/definitions/SafetyCheck",
+ "description": "Represents a safety check performed by service fabric before continuing with the operations. These checks ensure the availability of the service and the reliability of the state."
+ }
+ }
+ },
+ "ServiceEvent": {
+ "description": "Represents the base for all Service Events.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricEvent"
+ }
+ ],
+ "properties": {
+ "ServiceId": {
+ "$ref": "#/definitions/ServiceId",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ }
+ },
+ "required": [
+ "ServiceId"
+ ],
+ "x-ms-discriminator-value": "ServiceEvent"
+ },
+ "ServiceEventList": {
+ "description": "A list of ServiceEvent objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ },
+ "ServiceFromTemplateDescription": {
+ "description": "Defines description for creating a Service Fabric service from a template defined in the application manifest.",
+ "required": [
+ "ApplicationName",
+ "ServiceName",
+ "ServiceTypeName"
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "InitializationData": {
+ "$ref": "#/definitions/ByteArray",
+ "description": "The initialization data for the newly created service instance."
+ },
+ "ServicePackageActivationMode": {
+ "$ref": "#/definitions/ServicePackageActivationMode",
+ "description": "The activation mode of service package to be used for a service."
+ },
+ "ServiceDnsName": {
+ "type": "string",
+ "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster."
+ }
+ }
+ },
+ "ServiceHealthEvaluation": {
+ "x-ms-discriminator-value": "Service",
+ "description": "Represents health evaluation for a service, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "Name of the service whose health evaluation is described by this object."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the service. The types of the unhealthy evaluations can be PartitionsHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "ServiceHealthState": {
+ "description": "Represents the health state of a service, which contains the service identifier and its aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthState"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "Name of the service whose health state is represented by this object."
+ }
+ }
+ },
+ "ServiceHealthStateChunk": {
+ "description": "Represents the health state chunk of a service, which contains the service name, its aggregated health state and any partitions that respect the filters in the cluster health chunk query description.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealthStateChunk"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service whose health state chunk is provided in this object."
+ },
+ "PartitionHealthStateChunks": {
+ "$ref": "#/definitions/PartitionHealthStateChunkList",
+ "description": "The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description."
+ }
+ }
+ },
+ "ServiceHealthStateChunkList": {
+ "description": "The list of service health state chunks that respect the input filters in the chunk query. Returned by get cluster health state chunks query.",
+ "properties": {
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceHealthStateChunk"
+ },
+ "description": "The list of service health state chunks that respect the input filters in the chunk query."
+ }
+ }
+ },
+ "ServiceHealthStateFilter": {
+ "description": "Defines matching criteria to determine whether a service should be included as a child of an application in the cluster health chunk.\nThe services are only returned if the parent application matches a filter specified in the cluster health chunk query description.\nOne filter can match zero, one or multiple services, depending on its properties.",
+ "properties": {
+ "ServiceNameFilter": {
+ "type": "string",
+ "description": "The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.\nIf the service doesn't exist, no service is returned in the cluster health chunk based on this filter.\nIf the service exists, it is included as the application's child if the health state matches the other filter properties.\nIf not specified, all services that match the parent filters (if any) are taken into consideration and matched against the other filter members, like health state filter."
+ },
+ "HealthStateFilter": {
+ "type": "integer",
+ "default": 0,
+ "description": "The filter for the health state of the services. It allows selecting services if they match the desired health states.\nThe possible values are integer value of one of the following health states. Only services that match the filter are returned. All services are used to evaluate the cluster aggregated health state.\nIf not specified, default value is None, unless the service name is specified. If the filter has default value and service name is specified, the matching service is returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535."
+ },
+ "PartitionFilters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionHealthStateFilter"
+ },
+ "description": "Defines a list of filters that specify which partitions to be included in the returned cluster health chunk as children of the service. The partitions are returned only if the parent service matches a filter.\nIf the list is empty, no partitions are returned. All the partitions are used to evaluate the parent service aggregated health state, regardless of the input filters.\nThe service filter may specify multiple partition filters.\nFor example, it can specify a filter to return all partitions with health state Error and another filter to always include a partition identified by its partition ID."
+ }
+ }
+ },
+ "ServiceHealth": {
+ "description": "Information about the health of a Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EntityHealth"
+ }
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service whose health information is described by this object."
+ },
+ "PartitionHealthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionHealthState"
+ },
+ "description": "The list of partition health states associated with the service."
+ }
+ }
+ },
+ "ServiceId": {
+ "type": "string",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceManifestName": {
+ "type": "string",
+ "description": "The name of the service manifest."
+ },
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ServiceInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a Service Fabric service.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ServiceId",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ManifestVersion": {
+ "description": "The version of the service manifest.",
+ "type": "string"
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "ServiceStatus": {
+ "$ref": "#/definitions/ServiceStatus",
+ "description": "The status of the application."
+ },
+ "IsServiceGroup": {
+ "description": "Whether the service is in a service group.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ServiceKind"
+ ]
+ },
+ "ServiceKind": {
+ "type": "string",
+ "description": "The kind of service (Stateless or Stateful).",
+ "enum": [
+ "Invalid",
+ "Stateless",
+ "Stateful"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the service kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Stateless",
+ "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1."
+ },
+ {
+ "value": "Stateful",
+ "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2."
+ }
+ ]
+ }
+ },
+ "ServiceNameInfo": {
+ "description": "Information about the service name.",
+ "properties": {
+ "Id": {
+ "$ref": "#/definitions/ServiceId",
+ "description": "The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.\nStarting in version 6.0, hierarchical names are delimited with the \"\\~\" character. For example, if the service name is \"fabric:/myapp/app1/svc1\",\nthe service identity would be \"myapp~app1\\~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ }
+ }
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "ServicePartitionInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a partition of a Service Fabric service.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "HealthState": {
+ "$ref": "#/definitions/HealthState",
+ "description": "The health state of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc."
+ },
+ "PartitionStatus": {
+ "$ref": "#/definitions/ServicePartitionStatus",
+ "description": "The status of the service fabric service partition."
+ },
+ "PartitionInformation": {
+ "$ref": "#/definitions/PartitionInformation",
+ "description": "Information about the partition identity, partitioning scheme and keys supported by it."
+ }
+ }
+ },
+ "ServicePartitionKind": {
+ "type": "string",
+ "description": "The kind of partitioning scheme used to partition the service.",
+ "enum": [
+ "Invalid",
+ "Singleton",
+ "Int64Range",
+ "Named"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePartitionKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Singleton",
+ "description": "Indicates that there is only one partition, and SingletonPartitionSchemeDescription was specified while creating the service. The value is 1."
+ },
+ {
+ "value": "Int64Range",
+ "description": "Indicates that the partition is based on Int64 key ranges, and UniformInt64RangePartitionSchemeDescription was specified while creating the service. The value is 2."
+ },
+ {
+ "value": "Named",
+ "description": "Indicates that the partition is based on string names, and NamedPartitionInformation was specified while creating the service. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServicePartitionStatus": {
+ "type": "string",
+ "description": "The status of the service fabric service partition.",
+ "enum": [
+ "Invalid",
+ "Ready",
+ "NotReady",
+ "InQuorumLoss",
+ "Reconfiguring",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePartitionStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the partition status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates that the partition is ready. This means that for a stateless service partition there is at least one instance that is up and for a stateful service partition the number of ready replicas is greater than or equal to the MinReplicaSetSize. The value is 1."
+ },
+ {
+ "value": "NotReady",
+ "description": "Indicates that the partition is not ready. This status is returned when none of the other states apply. The value is 2."
+ },
+ {
+ "value": "InQuorumLoss",
+ "description": "Indicates that the partition is in quorum loss. This means that number of replicas that are up and participating in a replica set is less than MinReplicaSetSize for this partition. The value is 3."
+ },
+ {
+ "value": "Reconfiguring",
+ "description": "Indicates that the partition is undergoing reconfiguration of its replica sets. This can happen due to failover, upgrade, load balancing or addition or removal of replicas from the replica set. The value is 4."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates that the partition is being deleted. The value is 5."
+ }
+ ]
+ }
+ },
+ "ServicePlacementInvalidDomainPolicyDescription": {
+ "x-ms-discriminator-value": "InvalidDomain",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should not be used for placement."
+ }
+ }
+ },
+ "ServicePlacementNonPartiallyPlaceServicePolicyDescription": {
+ "x-ms-discriminator-value": "NonPartiallyPlaceService",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be created.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ]
+ },
+ "ServicePlacementPolicyDescription": {
+ "discriminator": "Type",
+ "description": "Describes the policy to be used for placement of a Service Fabric service.",
+ "required": [
+ "Type"
+ ],
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/ServicePlacementPolicyType",
+ "description": "The type of placement policy for a service fabric service. Following are the possible values."
+ }
+ }
+ },
+ "ServicePlacementPolicyDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ },
+ "description": "List of service placement policy descriptions."
+ },
+ "ServicePlacementPolicyType": {
+ "type": "string",
+ "description": "The type of placement policy for a service fabric service. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "InvalidDomain",
+ "RequireDomain",
+ "PreferPrimaryDomain",
+ "RequireDomainDistribution",
+ "NonPartiallyPlaceService"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePlacementPolicyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the type of the placement policy is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "InvalidDomain",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade domain cannot be used for placement of this service. The value is 1."
+ },
+ {
+ "value": "RequireDomain",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service must be placed in a specific domain. The value is 2."
+ },
+ {
+ "value": "PreferPrimaryDomain",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the Primary replica for the partitions of the service should be located in a particular domain as an optimization. The value is 3."
+ },
+ {
+ "value": "RequireDomainDistribution",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, indicating that the system will disallow placement of any two replicas from the same partition in the same domain at any time. The value is 4."
+ },
+ {
+ "value": "NonPartiallyPlaceService",
+ "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible all replicas of a particular partition of the service should be placed atomically. The value is 5."
+ }
+ ]
+ }
+ },
+ "ServicePlacementPreferPrimaryDomainPolicyDescription": {
+ "x-ms-discriminator-value": "PreferPrimaryDomain",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where the service's Primary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric cluster is geographically distributed in order to indicate that a service's primary replica should be located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica may not end up located in this domain due to failures, capacity limits, or other constraints.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should used for placement as per this policy."
+ }
+ }
+ },
+ "ServicePlacementRequiredDomainPolicyDescription": {
+ "x-ms-discriminator-value": "RequireDomain",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should used for placement as per this policy."
+ }
+ }
+ },
+ "ServicePlacementRequireDomainDistributionPolicyDescription": {
+ "x-ms-discriminator-value": "RequireDomainDistribution",
+ "description": "Describes the policy to be used for placement of a Service Fabric service where two replicas from the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures due to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where replicas are deployed across different data center, with one replica per location. In the event that one of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed into one of the remaining datacenters. If this is not desirable then this policy should be set.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ }
+ ],
+ "properties": {
+ "DomainName": {
+ "type": "string",
+ "description": "The name of the domain that should used for placement as per this policy."
+ }
+ }
+ },
+ "ServicesHealthEvaluation": {
+ "x-ms-discriminator-value": "Services",
+ "description": "Represents health evaluation for services of a certain service type belonging to an application, containing health evaluations for each unhealthy service that impacted current aggregated health state. Can be returned when evaluating application health and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Name of the service type of the services."
+ },
+ "MaxPercentUnhealthyServices": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of services of the current service type in the application from the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "ServiceStatus": {
+ "type": "string",
+ "description": "The status of the application.",
+ "enum": [
+ "Unknown",
+ "Active",
+ "Upgrading",
+ "Deleting",
+ "Creating",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the service status is unknown. The value is zero."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates the service status is active. The value is 1."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the service is upgrading. The value is 2."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates the service is being deleted. The value is 3."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates the service is being created. The value is 4."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates creation or deletion was terminated due to persistent failures. Another create/delete request can be accepted. The value is 5."
+ }
+ ]
+ }
+ },
+ "ServiceTypeDescription": {
+ "discriminator": "Kind",
+ "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "IsStateful": {
+ "type": "boolean",
+ "description": "Indicates whether the service type is a stateful service type or a stateless service type. This property is true if the service type is a stateful service type, false otherwise."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "PlacementConstraints": {
+ "type": "string",
+ "description": "The placement constraint to be used when instantiating this service in a Service Fabric cluster."
+ },
+ "LoadMetrics": {
+ "$ref": "#/definitions/ServiceLoadMetricsList",
+ "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects."
+ },
+ "ServicePlacementPolicies": {
+ "$ref": "#/definitions/ServicePlacementPolicyDescriptionList",
+ "description": "List of service placement policy descriptions."
+ },
+ "Extensions": {
+ "$ref": "#/definitions/ServiceTypeExtensionDescriptionList",
+ "description": "List of service type extensions."
+ }
+ }
+ },
+ "ServiceTypeExtensionDescription": {
+ "description": "Describes extension of a service type defined in the service manifest.",
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "Value": {
+ "type": "string",
+ "description": "The extension value."
+ }
+ }
+ },
+ "ServiceTypeExtensionDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTypeExtensionDescription"
+ },
+ "description": "List of service type extensions."
+ },
+ "ServiceTypeHealthPolicy": {
+ "description": "Represents the health policy used to evaluate the health of services belonging to a service type.",
+ "properties": {
+ "MaxPercentUnhealthyPartitionsPerService": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyReplicasPerPartition": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyServices": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.",
+ "default": 0
+ }
+ }
+ },
+ "ServiceTypeHealthPolicyMap": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicyMapItem"
+ },
+ "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type. For example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently. With policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation."
+ },
+ "ServiceTypeHealthPolicyMapItem": {
+ "description": "Defines an item in ServiceTypeHealthPolicyMap.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The key of the service type health policy map item. This is the name of the service type."
+ },
+ "Value": {
+ "$ref": "#/definitions/ServiceTypeHealthPolicy",
+ "description": "The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type."
+ }
+ }
+ },
+ "ServiceTypeInfo": {
+ "description": "Information about a service type that is defined in a service manifest of a provisioned application type.",
+ "properties": {
+ "ServiceTypeDescription": {
+ "$ref": "#/definitions/ServiceTypeDescription",
+ "description": "Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest in which this service type is defined."
+ },
+ "ServiceManifestVersion": {
+ "type": "string",
+ "description": "The version of the service manifest in which this service type is defined."
+ },
+ "IsServiceGroup": {
+ "type": "boolean",
+ "description": "Indicates whether the service is a service group. If it is, the property value is true otherwise false."
+ }
+ }
+ },
+ "ServiceTypeInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceTypeInfo"
+ },
+ "description": "List of service type information."
+ },
+ "ServiceTypeManifest": {
+ "description": "Contains the manifest describing a service type registered as part of an application in a Service Fabric cluster.",
+ "properties": {
+ "Manifest": {
+ "type": "string",
+ "description": "The XML manifest as a string."
+ }
+ }
+ },
+ "SingletonPartitionInformation": {
+ "description": "Information about a partition that is singleton. The services with singleton partitioning scheme are effectively non-partitioned. They only have one partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionInformation"
+ }
+ ],
+ "x-ms-discriminator-value": "Singleton"
+ },
+ "StatefulServiceInfo": {
+ "description": "Information about a stateful Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ ],
+ "properties": {
+ "HasPersistedState": {
+ "description": "Whether the service has persisted state.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "Stateful"
+ },
+ "StatefulServicePartitionInfo": {
+ "description": "Information about a partition of a stateful Service Fabric service..",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "properties": {
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The target replica set size as a number."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum replica set size as a number."
+ },
+ "LastQuorumLossDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "The duration for which this partition was in quorum loss. If the partition is currently in quorum loss, it returns the duration since it has been in that state. This field is using ISO8601 format for specifying the duration."
+ },
+ "PrimaryEpoch": {
+ "$ref": "#/definitions/Epoch",
+ "description": "An Epoch is a configuration number for the partition as a whole. When the configuration of the replica set changes, for example when the Primary replica changes, the operations that are replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica."
+ }
+ }
+ },
+ "StatefulServiceReplicaHealth": {
+ "description": "Represents the health of the stateful service replica.\nContains the replica aggregated health state, the health events and the unhealthy evaluations.",
+ "x-ms-discriminator-value": "Stateful",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ }
+ },
+ "StatefulServiceReplicaHealthState": {
+ "x-ms-discriminator-value": "Stateful",
+ "description": "Represents the health state of the stateful service replica, which contains the replica ID and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealthState"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ }
+ },
+ "StatefulServiceTypeDescription": {
+ "description": "Describes a stateful service type defined in the service manifest of a provisioned application type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceTypeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "properties": {
+ "HasPersistedState": {
+ "type": "boolean",
+ "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false."
+ }
+ }
+ },
+ "StatelessServiceInfo": {
+ "description": "Information about a stateless Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless"
+ },
+ "StatelessServiceInstanceHealth": {
+ "description": "Represents the health of the stateless service instance.\nContains the instance aggregated health state, the health events and the unhealthy evaluations.",
+ "x-ms-discriminator-value": "Stateless",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealth"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ }
+ }
+ },
+ "StatelessServiceInstanceHealthState": {
+ "x-ms-discriminator-value": "Stateless",
+ "description": "Represents the health state of the stateless service instance, which contains the instance ID and the aggregated health state.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaHealthState"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of the stateless service instance on the wire this field is called ReplicaId."
+ }
+ }
+ },
+ "StatelessServicePartitionInfo": {
+ "description": "Information about a partition of a stateless Service Fabric service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePartitionInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "properties": {
+ "InstanceCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of instances of this partition."
+ },
+ "MinInstanceCount": {
+ "$ref": "#/definitions/MinInstanceCount",
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "$ref": "#/definitions/MinInstancePercentage",
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ }
+ }
+ },
+ "StatelessServiceTypeDescription": {
+ "description": "Describes a stateless service type defined in the service manifest of a provisioned application type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceTypeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "properties": {
+ "UseImplicitHost": {
+ "type": "boolean",
+ "description": "A flag indicating if this type is not implemented and hosted by a user service process, but is implicitly hosted by a system created process. This value is true for services using the guest executable services, false otherwise."
+ }
+ }
+ },
+ "SystemApplicationHealthEvaluation": {
+ "x-ms-discriminator-value": "SystemApplication",
+ "description": "Represents health evaluation for the fabric:/System application, containing information about the data and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the current aggregated health state of the system application. The types of the unhealthy evaluations can be DeployedApplicationsHealthEvaluation, ServicesHealthEvaluation or EventHealthEvaluation."
+ }
+ }
+ },
+ "TargetApplicationName": {
+ "type": "string",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "TargetApplicationTypeVersion": {
+ "type": "string",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "TargetDeploymentName": {
+ "type": "string",
+ "description": "The name of the target deployment."
+ },
+ "UnhealthyEvaluations": {
+ "description": "List of health evaluations that resulted in the current aggregated health state.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthEvaluationWrapper"
+ }
+ },
+ "UpgradeDomainDeltaNodesCheckHealthEvaluation": {
+ "x-ms-discriminator-value": "UpgradeDomainDeltaNodesCheck",
+ "description": "Represents health evaluation for delta unhealthy cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state.\nCan be returned during cluster upgrade when cluster aggregated health state is Warning or Error.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "Name of the upgrade domain where nodes health is currently evaluated."
+ },
+ "BaselineErrorCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade."
+ },
+ "BaselineTotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade."
+ },
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of upgrade domain nodes in the health store."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "UpgradeDomainInfo": {
+ "description": "Information about an upgrade domain.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "State": {
+ "$ref": "#/definitions/UpgradeDomainState",
+ "description": "The state of the upgrade domain."
+ }
+ }
+ },
+ "UpgradeDomainInfoList": {
+ "type": "array",
+ "description": "List of upgrade domains and their statuses.",
+ "items": {
+ "$ref": "#/definitions/UpgradeDomainInfo"
+ }
+ },
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "The name of the upgrade domain"
+ },
+ "UpgradeDomainNodesHealthEvaluation": {
+ "x-ms-discriminator-value": "UpgradeDomainNodes",
+ "description": "Represents health evaluation for cluster nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error or Warning.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthEvaluation"
+ }
+ ],
+ "properties": {
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "Name of the upgrade domain where nodes health is currently evaluated."
+ },
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy."
+ },
+ "TotalCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of nodes in the current upgrade domain."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health."
+ }
+ }
+ },
+ "UpgradeDomainState": {
+ "type": "string",
+ "description": "The state of the upgrade domain.",
+ "enum": [
+ "Invalid",
+ "Pending",
+ "InProgress",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeDomainState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade domain state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Pending",
+ "description": "The upgrade domain has not started upgrading yet. The value is 1"
+ },
+ {
+ "value": "InProgress",
+ "description": "The upgrade domain is being upgraded but not complete yet. The value is 2"
+ },
+ {
+ "value": "Completed",
+ "description": "The upgrade domain has completed upgrade. The value is 3"
+ }
+ ]
+ }
+ },
+ "UpgradeDomainTimeout": {
+ "type": "string",
+ "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "P10675199DT02H48M05.4775807S"
+ },
+ "UpgradeDuration": {
+ "type": "string",
+ "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "UpgradeKind": {
+ "type": "string",
+ "description": "The kind of upgrade out of the following possible values.",
+ "default": "Rolling",
+ "enum": [
+ "Invalid",
+ "Rolling"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Rolling",
+ "description": "The upgrade progresses one upgrade domain at a time. The value is 1"
+ }
+ ]
+ }
+ },
+ "UpgradeMode": {
+ "type": "string",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored.",
+ "enum": [
+ "Invalid",
+ "UnmonitoredAuto",
+ "UnmonitoredManual",
+ "Monitored"
+ ],
+ "default": "UnmonitoredAuto",
+ "x-ms-enum": {
+ "name": "UpgradeMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "UnmonitoredAuto",
+ "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1"
+ },
+ {
+ "value": "UnmonitoredManual",
+ "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2"
+ },
+ {
+ "value": "Monitored",
+ "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3"
+ }
+ ]
+ }
+ },
+ "UpgradeSortOrder": {
+ "type": "string",
+ "description": "Defines the order in which an upgrade proceeds through the cluster.",
+ "enum": [
+ "Invalid",
+ "Default",
+ "Numeric",
+ "Lexicographical",
+ "ReverseNumeric",
+ "ReverseLexicographical"
+ ],
+ "default": "Default",
+ "x-ms-enum": {
+ "name": "UpgradeSortOrder",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that this sort order is not valid. All Service Fabric enumerations have the invalid type. The value is 0."
+ },
+ {
+ "value": "Default",
+ "description": "Indicates that the default sort order (as specified in cluster manifest) will be used. The value is 1."
+ },
+ {
+ "value": "Numeric",
+ "description": "Indicates that forward numeric sort order (UD names sorted as numbers) will be used. The value is 2."
+ },
+ {
+ "value": "Lexicographical",
+ "description": "Indicates that forward lexicographical sort order (UD names sorted as strings) will be used. The value is 3."
+ },
+ {
+ "value": "ReverseNumeric",
+ "description": "Indicates that reverse numeric sort order (UD names sorted as numbers) will be used. The value is 4."
+ },
+ {
+ "value": "ReverseLexicographical",
+ "description": "Indicates that reverse lexicographical sort order (UD names sorted as strings) will be used. The value is 5."
+ }
+ ]
+ }
+ },
+ "UpgradeType": {
+ "type": "string",
+ "description": "The type of upgrade out of the following possible values.",
+ "default": "Rolling",
+ "enum": [
+ "Invalid",
+ "Rolling",
+ "Rolling_ForceRestart"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Rolling",
+ "description": "The upgrade progresses one upgrade domain at a time. The value is 1."
+ },
+ {
+ "value": "Rolling_ForceRestart",
+ "description": "The upgrade gets restarted by force. The value is 2."
+ }
+ ]
+ }
+ },
+ "UpgradeReplicaSetCheckTimeout": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).",
+ "default": 42949672925
+ },
+ "UpgradeState": {
+ "type": "string",
+ "description": "The state of the upgrade domain.",
+ "enum": [
+ "Invalid",
+ "RollingBackInProgress",
+ "RollingBackCompleted",
+ "RollingForwardPending",
+ "RollingForwardInProgress",
+ "RollingForwardCompleted",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "RollingBackInProgress",
+ "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 1"
+ },
+ {
+ "value": "RollingBackCompleted",
+ "description": "The upgrade has finished rolling back. The value is 2"
+ },
+ {
+ "value": "RollingForwardPending",
+ "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3"
+ },
+ {
+ "value": "RollingForwardInProgress",
+ "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 4"
+ },
+ {
+ "value": "RollingForwardCompleted",
+ "description": "The upgrade has finished rolling forward. The value is 5"
+ },
+ {
+ "value": "Failed",
+ "description": "The upgrade has failed and is unable to execute FailureAction. The value is 6"
+ }
+ ]
+ }
+ },
+ "UpgradeTimeout": {
+ "type": "string",
+ "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "P10675199DT02H48M05.4775807S"
+ },
+ "WaitForInbuildReplicaSafetyCheck": {
+ "description": "Safety check that waits for the replica build operation to finish. This indicates that there is a replica that is going through the copy or is providing data for building another replica. Bring the node down will abort this copy operation which are typically expensive involving data movements.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForInbuildReplica"
+ },
+ "WaitForPrimaryPlacementSafetyCheck": {
+ "description": "Safety check that waits for the primary replica that was moved out of the node due to upgrade to be placed back again on that node.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForPrimaryPlacement"
+ },
+ "WaitForPrimarySwapSafetyCheck": {
+ "description": "Safety check that waits for the primary replica to be moved out of the node before starting an upgrade to ensure the availability of the primary replica for the partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForPrimarySwap"
+ },
+ "WaitForReconfigurationSafetyCheck": {
+ "description": "Safety check that waits for the current reconfiguration of the partition to be completed before starting an upgrade.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSafetyCheck"
+ }
+ ],
+ "x-ms-discriminator-value": "WaitForReconfiguration"
+ },
+ "LoadMetricReport": {
+ "description": "Represents the load metric report which contains the time metric was reported, its name and value.",
+ "properties": {
+ "LastReportedUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the UTC time when the load was reported."
+ },
+ "Name": {
+ "type": "string",
+ "description": "The name of the load metric."
+ },
+ "Value": {
+ "type": "string",
+ "format": "int32",
+ "description": "The value of the load metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue."
+ },
+ "CurrentValue": {
+ "type": "string",
+ "format": "double",
+ "description": "The value of the load metric."
+ }
+ }
+ },
+ "PartitionLoadInformation": {
+ "description": "Represents load information for a partition, which contains the primary and secondary reported load metrics.\nIn case there is no load reported, PartitionLoadInformation will contain the default load for the service of the partition.\nFor default loads, LoadMetricReport's LastReportedUtc is set to 0.",
+ "properties": {
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "Id of the partition."
+ },
+ "PrimaryLoadMetricReports": {
+ "type": "array",
+ "description": "Array of load reports from the primary replica for this partition.",
+ "items": {
+ "$ref": "#/definitions/LoadMetricReport"
+ }
+ },
+ "SecondaryLoadMetricReports": {
+ "type": "array",
+ "description": "Array of aggregated load reports from all secondary replicas for this partition.\nArray only contains the latest reported load for each metric.",
+ "items": {
+ "$ref": "#/definitions/LoadMetricReport"
+ }
+ }
+ }
+ },
+ "StatefulServiceReplicaInfo": {
+ "x-ms-discriminator-value": "Stateful",
+ "description": "Represents a stateful service replica. This includes information about the identity, role, status, health, node name, uptime, and other details about the replica.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ ],
+ "properties": {
+ "ReplicaRole": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "The role of a replica of a stateful service."
+ },
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ }
+ }
+ },
+ "StatelessServiceInstanceInfo": {
+ "x-ms-discriminator-value": "Stateless",
+ "description": "Represents a stateless service instance. This includes information about the identity, status, health, node name, uptime, and other details about the instance.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaInfo"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ }
+ }
+ },
+ "ClusterFabricCodeVersionString": {
+ "type": "string",
+ "description": "The ServiceFabric code version of the cluster."
+ },
+ "ClusterFabricConfigVersionString": {
+ "type": "string",
+ "description": "The cluster configuration version (specified in the cluster manifest)."
+ },
+ "ClusterUpgradeDescriptionObject": {
+ "description": "Represents a ServiceFabric cluster upgrade",
+ "properties": {
+ "ConfigVersion": {
+ "$ref": "#/definitions/ClusterFabricConfigVersionString",
+ "description": "The cluster configuration version (specified in the cluster manifest)."
+ },
+ "CodeVersion": {
+ "$ref": "#/definitions/ClusterFabricCodeVersionString",
+ "description": "The ServiceFabric code version of the cluster."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "SortOrder": {
+ "$ref": "#/definitions/UpgradeSortOrder",
+ "description": "Defines the order in which an upgrade proceeds through the cluster."
+ },
+ "EnableDeltaHealthEvaluation": {
+ "$ref": "#/definitions/DeltaHealthEvaluationBool",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node."
+ },
+ "ClusterUpgradeHealthPolicy": {
+ "$ref": "#/definitions/ClusterUpgradeHealthPolicyObject",
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade."
+ },
+ "ApplicationHealthPolicyMap": {
+ "$ref": "#/definitions/ApplicationHealthPolicyMap",
+ "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nIf an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest).\nThe map is empty by default."
+ }
+ }
+ },
+ "ClusterUpgradeHealthPolicyObject": {
+ "description": "Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.",
+ "properties": {
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. The default value is 10%.",
+ "maximum": 100,
+ "minimum": 0
+ },
+ "MaxPercentUpgradeDomainDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. The default value is 15%.",
+ "maximum": 100,
+ "minimum": 0
+ }
+ }
+ },
+ "ClusterUpgradeProgressObject": {
+ "description": "Information about a cluster upgrade.",
+ "properties": {
+ "CodeVersion": {
+ "$ref": "#/definitions/ClusterFabricCodeVersionString",
+ "description": "The ServiceFabric code version of the cluster."
+ },
+ "ConfigVersion": {
+ "$ref": "#/definitions/ClusterFabricConfigVersionString",
+ "description": "The cluster configuration version (specified in the cluster manifest)."
+ },
+ "UpgradeDomains": {
+ "$ref": "#/definitions/UpgradeDomainInfoList",
+ "description": "List of upgrade domains and their statuses."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/UpgradeState",
+ "description": "The state of the upgrade domain."
+ },
+ "NextUpgradeDomain": {
+ "$ref": "#/definitions/NextUpgradeDomain",
+ "description": "The name of the next upgrade domain to be processed."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeDescription": {
+ "$ref": "#/definitions/ClusterUpgradeDescriptionObject",
+ "description": "Represents a ServiceFabric cluster upgrade"
+ },
+ "UpgradeDurationInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDurationString",
+ "description": "The estimated elapsed time spent processing the current overall upgrade."
+ },
+ "UpgradeDomainDurationInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDomainDurationString",
+ "description": "The estimated elapsed time spent processing the current upgrade domain."
+ },
+ "UnhealthyEvaluations": {
+ "$ref": "#/definitions/UnhealthyEvaluations",
+ "description": "List of health evaluations that resulted in the current aggregated health state."
+ },
+ "CurrentUpgradeDomainProgress": {
+ "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo",
+ "description": "Information about the current in-progress upgrade domain."
+ },
+ "StartTimestampUtc": {
+ "$ref": "#/definitions/UpgradeStartTimeUTCString",
+ "description": "The start time of the upgrade in UTC."
+ },
+ "FailureTimestampUtc": {
+ "$ref": "#/definitions/UpgradeFailureTimeUTCString",
+ "description": "The failure time of the upgrade in UTC."
+ },
+ "FailureReason": {
+ "$ref": "#/definitions/FailureReason",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed."
+ },
+ "UpgradeDomainProgressAtFailure": {
+ "$ref": "#/definitions/FailedUpgradeDomainProgressObject",
+ "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure."
+ }
+ }
+ },
+ "ClusterConfigurationUpgradeDescription": {
+ "description": "Describes the parameters for a standalone cluster configuration upgrade.",
+ "properties": {
+ "ClusterConfig": {
+ "type": "string",
+ "description": "The cluster configuration as a JSON string. For example, [this file](https://github.com/Azure-Samples/service-fabric-dotnet-standalone-cluster-configuration/blob/master/Samples/ClusterConfig.Unsecure.DevCluster.json) contains JSON describing the [nodes and other properties of the cluster](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-manifest)."
+ },
+ "HealthCheckRetryTimeout": {
+ "type": "string",
+ "format": "duration",
+ "description": "The length of time between attempts to perform health checks if the application or cluster is not healthy.",
+ "default": "PT0H0M0S"
+ },
+ "HealthCheckWaitDurationInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The length of time to wait after completing an upgrade domain before starting the health checks process.",
+ "default": "PT0H0M0S"
+ },
+ "HealthCheckStableDurationInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The length of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain.",
+ "default": "PT0H0M0S"
+ },
+ "UpgradeDomainTimeoutInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The timeout for the upgrade domain.",
+ "default": "PT0H0M0S"
+ },
+ "UpgradeTimeoutInSeconds": {
+ "type": "string",
+ "format": "duration",
+ "description": "The upgrade timeout.",
+ "default": "PT0H0M0S"
+ },
+ "MaxPercentUnhealthyApplications": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "MaxPercentUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "MaxPercentDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "MaxPercentUpgradeDomainDeltaUnhealthyNodes": {
+ "type": "integer",
+ "description": "The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.",
+ "default": 0
+ },
+ "ApplicationHealthPolicies": {
+ "$ref": "#/definitions/ApplicationHealthPolicies",
+ "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities."
+ }
+ },
+ "required": [
+ "ClusterConfig"
+ ]
+ },
+ "DeltaHealthEvaluationBool": {
+ "type": "boolean",
+ "description": "When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain."
+ },
+ "FailedUpgradeDomainProgressObject": {
+ "description": "The detailed upgrade progress for nodes in the current upgrade domain at the point of failure.",
+ "properties": {
+ "DomainName": {
+ "$ref": "#/definitions/UpgradeDomainName",
+ "description": "The name of the upgrade domain"
+ },
+ "NodeUpgradeProgressList": {
+ "$ref": "#/definitions/NodeUpgradeProgressInfoList",
+ "description": "List of upgrading nodes and their statuses"
+ }
+ }
+ },
+ "UpgradeDomainDurationString": {
+ "type": "string",
+ "description": "The estimated elapsed time spent processing the current upgrade domain."
+ },
+ "UpgradeDurationString": {
+ "type": "string",
+ "description": "The estimated elapsed time spent processing the current overall upgrade."
+ },
+ "UpgradeFailureTimeUTCString": {
+ "type": "string",
+ "description": "The failure time of the upgrade in UTC."
+ },
+ "UpgradeStartTimeUTCString": {
+ "type": "string",
+ "description": "The start time of the upgrade in UTC."
+ },
+ "UpgradeOrchestrationServiceState": {
+ "description": "Service state of Service Fabric Upgrade Orchestration Service.",
+ "properties": {
+ "ServiceState": {
+ "type": "string",
+ "description": "The state of Service Fabric Upgrade Orchestration Service."
+ }
+ }
+ },
+ "UpgradeOrchestrationServiceStateSummary": {
+ "description": "Service state summary of Service Fabric Upgrade Orchestration Service.",
+ "properties": {
+ "CurrentCodeVersion": {
+ "type": "string",
+ "description": "The current code version of the cluster."
+ },
+ "CurrentManifestVersion": {
+ "type": "string",
+ "description": "The current manifest version of the cluster."
+ },
+ "TargetCodeVersion": {
+ "type": "string",
+ "description": "The target code version of the cluster."
+ },
+ "TargetManifestVersion": {
+ "type": "string",
+ "description": "The target manifest version of the cluster."
+ },
+ "PendingUpgradeType": {
+ "type": "string",
+ "description": "The type of the pending upgrade of the cluster."
+ }
+ }
+ },
+ "ApplicationTypeImageStorePath": {
+ "description": "Path description for the application package in the image store specified during the prior copy operation.",
+ "required": [
+ "ApplicationTypeBuildPath"
+ ],
+ "properties": {
+ "ApplicationTypeBuildPath": {
+ "type": "string",
+ "description": "The relative image store path to the application package."
+ }
+ }
+ },
+ "UnprovisionApplicationTypeDescriptionInfo": {
+ "description": "Describes the operation to unregister or unprovision an application type and its version that was registered with the Service Fabric.",
+ "required": [
+ "ApplicationTypeVersion"
+ ],
+ "properties": {
+ "ApplicationTypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "Async": {
+ "type": "boolean",
+ "description": "The flag indicating whether or not unprovision should occur asynchronously. When set to true, the unprovision operation returns when the request is accepted by the system, and the unprovision operation continues without any timeout limit. The default value is false. However, we recommend setting it to true for large application packages that were provisioned."
+ }
+ }
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "The name of the code package defined in the service manifest."
+ },
+ "CodePackageEntryPointStatistics": {
+ "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node.",
+ "properties": {
+ "LastExitCode": {
+ "type": "string",
+ "description": "The last exit code of the entry point."
+ },
+ "LastActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when Service Fabric attempted to run the entry point."
+ },
+ "LastExitTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when the entry point finished running."
+ },
+ "LastSuccessfulActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when the entry point ran successfully."
+ },
+ "LastSuccessfulExitTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time (in UTC) when the entry point finished running gracefully."
+ },
+ "ActivationCount": {
+ "type": "string",
+ "description": "Number of times the entry point has run."
+ },
+ "ActivationFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point failed to run."
+ },
+ "ContinuousActivationFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point continuously failed to run."
+ },
+ "ExitCount": {
+ "type": "string",
+ "description": "Number of times the entry point finished running."
+ },
+ "ExitFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point failed to exit gracefully."
+ },
+ "ContinuousExitFailureCount": {
+ "type": "string",
+ "description": "Number of times the entry point continuously failed to exit gracefully."
+ }
+ }
+ },
+ "DeployedCodePackageInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedCodePackageInfo"
+ },
+ "description": "List of deployed code package information."
+ },
+ "DeployedCodePackageInfo": {
+ "description": "Information about code package deployed on a Service Fabric node.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the code package specified in service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of service manifest that specified this code package."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "HostType": {
+ "$ref": "#/definitions/HostType",
+ "description": "Specifies the type of host for main entry point of a code package as specified in service manifest."
+ },
+ "HostIsolationMode": {
+ "$ref": "#/definitions/HostIsolationMode",
+ "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/DeploymentStatus",
+ "description": "Specifies the status of a deployed application or service package on a Service Fabric node."
+ },
+ "RunFrequencyInterval": {
+ "type": "string",
+ "description": "The interval at which code package is run. This is used for periodic code package."
+ },
+ "SetupEntryPoint": {
+ "$ref": "#/definitions/CodePackageEntryPoint",
+ "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node."
+ },
+ "MainEntryPoint": {
+ "$ref": "#/definitions/CodePackageEntryPoint",
+ "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node."
+ }
+ }
+ },
+ "DeploymentStatus": {
+ "type": "string",
+ "description": "Specifies the status of a deployed application or service package on a Service Fabric node.",
+ "enum": [
+ "Invalid",
+ "Downloading",
+ "Activating",
+ "Active",
+ "Upgrading",
+ "Deactivating",
+ "RanToCompletion",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates status of the application or service package is not known or invalid. The value is 0."
+ },
+ {
+ "value": "Downloading",
+ "description": "Indicates the application or service package is being downloaded to the node from the ImageStore. The value is 1."
+ },
+ {
+ "value": "Activating",
+ "description": "Indicates the application or service package is being activated. The value is 2."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates the application or service package is active the node. The value is 3."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the application or service package is being upgraded. The value is 4."
+ },
+ {
+ "value": "Deactivating",
+ "description": "Indicates the application or service package is being deactivated. The value is 5."
+ },
+ {
+ "value": "RanToCompletion",
+ "description": "Indicates the application or service package has ran to completion successfully. The value is 6."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates the application or service package has failed to run to completion. The value is 7."
+ }
+ ]
+ }
+ },
+ "EntryPointStatus": {
+ "type": "string",
+ "description": "Specifies the status of the code package entry point deployed on a Service Fabric node.",
+ "enum": [
+ "Invalid",
+ "Pending",
+ "Starting",
+ "Started",
+ "Stopping",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "EntryPointStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates status of entry point is not known or invalid. The value is 0."
+ },
+ {
+ "value": "Pending",
+ "description": "Indicates the entry point is scheduled to be started. The value is 1."
+ },
+ {
+ "value": "Starting",
+ "description": "Indicates the entry point is being started. The value is 2."
+ },
+ {
+ "value": "Started",
+ "description": "Indicates the entry point was started successfully and is running. The value is 3."
+ },
+ {
+ "value": "Stopping",
+ "description": "Indicates the entry point is being stopped. The value is 4."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates the entry point is not running. The value is 5."
+ }
+ ]
+ }
+ },
+ "CodePackageEntryPoint": {
+ "description": "Information about setup or main entry point of a code package deployed on a Service Fabric node.",
+ "properties": {
+ "EntryPointLocation": {
+ "type": "string",
+ "description": "The location of entry point executable on the node."
+ },
+ "ProcessId": {
+ "type": "string",
+ "description": "The process ID of the entry point."
+ },
+ "RunAsUserName": {
+ "type": "string",
+ "description": "The user name under which entry point executable is run on the node."
+ },
+ "CodePackageEntryPointStatistics": {
+ "$ref": "#/definitions/CodePackageEntryPointStatistics",
+ "description": "Statistics about setup or main entry point of a code package deployed on a Service Fabric node."
+ },
+ "Status": {
+ "$ref": "#/definitions/EntryPointStatus",
+ "description": "Specifies the status of the code package entry point deployed on a Service Fabric node."
+ },
+ "NextActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time (in UTC) when the entry point executable will be run next."
+ },
+ "InstanceId": {
+ "$ref": "#/definitions/CodePackageInstanceId",
+ "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change."
+ }
+ }
+ },
+ "Chaos": {
+ "description": "Contains a description of Chaos.",
+ "properties": {
+ "ChaosParameters": {
+ "$ref": "#/definitions/ChaosParameters",
+ "description": "If Chaos is running, these are the parameters Chaos is running with."
+ },
+ "Status": {
+ "$ref": "#/definitions/ChaosStatus",
+ "description": "Current status of the Chaos run."
+ },
+ "ScheduleStatus": {
+ "$ref": "#/definitions/ChaosScheduleStatus",
+ "description": "Current status of the schedule."
+ }
+ }
+ },
+ "ChaosStatus": {
+ "type": "string",
+ "description": "Current status of the Chaos run.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "ChaosStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid Chaos status. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Running",
+ "description": "Indicates that Chaos is not stopped. The value is one."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates that Chaos is not scheduling further faults. The value is two."
+ }
+ ]
+ }
+ },
+ "ChaosScheduleStatus": {
+ "type": "string",
+ "description": "Current status of the schedule.",
+ "enum": [
+ "Invalid",
+ "Stopped",
+ "Active",
+ "Expired",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "ChaosScheduleStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid Chaos Schedule status. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates that the schedule is stopped and not being used to schedule runs of chaos. The value is one."
+ },
+ {
+ "value": "Active",
+ "description": "Indicates that the schedule is active and is being used to schedule runs of Chaos. The value is two."
+ },
+ {
+ "value": "Expired",
+ "description": "Indicates that the schedule is expired and will no longer be used to schedule runs of Chaos. The value is three."
+ },
+ {
+ "value": "Pending",
+ "description": "Indicates that the schedule is pending and is not yet being used to schedule runs of Chaos but will be used when the start time is passed. The value is four."
+ }
+ ]
+ }
+ },
+ "ChaosContextMap": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Describes a map that contains a collection of ChaosContextMapItem's."
+ },
+ "ChaosContext": {
+ "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run.",
+ "properties": {
+ "Map": {
+ "$ref": "#/definitions/ChaosContextMap",
+ "description": "Describes a map that contains a collection of ChaosContextMapItem's."
+ }
+ }
+ },
+ "ChaosParameters": {
+ "description": "Defines all the parameters to configure a Chaos run.",
+ "properties": {
+ "TimeToRunInSeconds": {
+ "type": "string",
+ "description": "Total time (in seconds) for which Chaos will run before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue).",
+ "default": "4294967295"
+ },
+ "MaxClusterStabilizationTimeoutInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum amount of time to wait for all cluster entities to become stable and healthy. Chaos executes in iterations and at the start of each iteration it validates the health of cluster entities.\nDuring validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.",
+ "default": 60,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "MaxConcurrentFaults": {
+ "type": "integer",
+ "format": "int64",
+ "description": "MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.\nChaos executes in iterations and two consecutive iterations are separated by a validation phase.\nThe higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.\nThe recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.",
+ "default": 1,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "EnableMoveReplicaFaults": {
+ "type": "boolean",
+ "description": "Enables or disables the move primary and move secondary faults.",
+ "default": true
+ },
+ "WaitTimeBetweenFaultsInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Wait time (in seconds) between consecutive faults within a single iteration.\nThe larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.\nThe recommendation is to start with a value between 1 and 5 and exercise caution while moving up.",
+ "default": 20,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "WaitTimeBetweenIterationsInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time-separation (in seconds) between two consecutive iterations of Chaos.\nThe larger the value, the lower the fault injection rate.",
+ "default": 30,
+ "minimum": 0,
+ "maximum": 4294967295
+ },
+ "ClusterHealthPolicy": {
+ "$ref": "#/definitions/ClusterHealthPolicy",
+ "description": "Passed-in cluster health policy is used to validate health of the cluster in between Chaos iterations. If the cluster health is in error or if an unexpected exception happens during fault execution--to provide the cluster with some time to recuperate--Chaos will wait for 30 minutes before the next health-check."
+ },
+ "Context": {
+ "$ref": "#/definitions/ChaosContext",
+ "description": "Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about\nthe Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.\nThis map is set by the starter of the Chaos run to optionally store the context about the specific run."
+ },
+ "ChaosTargetFilter": {
+ "$ref": "#/definitions/ChaosTargetFilter",
+ "description": "List of cluster entities to target for Chaos faults.\nThis filter can be used to target Chaos faults only to certain node types or only to certain application instances. If ChaosTargetFilter is not used, Chaos faults all cluster entities.\nIf ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification."
+ }
+ }
+ },
+ "ChaosParametersDictionaryItem": {
+ "description": "Defines an item in ChaosParametersDictionary of the Chaos Schedule.",
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "properties": {
+ "Key": {
+ "type": "string",
+ "description": "The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs."
+ },
+ "Value": {
+ "$ref": "#/definitions/ChaosParameters",
+ "description": "Defines all the parameters to configure a Chaos run."
+ }
+ }
+ },
+ "ChaosEvent": {
+ "discriminator": "Kind",
+ "description": "Represents an event generated during a Chaos run.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ChaosEventKind",
+ "description": "The kind of Chaos event."
+ },
+ "TimeStampUtc": {
+ "type": "string",
+ "description": "The UTC timestamp when this Chaos event was generated.",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "Kind",
+ "TimeStampUtc"
+ ]
+ },
+ "ChaosEventWrapper": {
+ "description": "Wrapper object for Chaos event.",
+ "properties": {
+ "ChaosEvent": {
+ "$ref": "#/definitions/ChaosEvent",
+ "description": "Represents an event generated during a Chaos run."
+ }
+ }
+ },
+ "ChaosEventKind": {
+ "type": "string",
+ "description": "The kind of Chaos event.",
+ "enum": [
+ "Invalid",
+ "Started",
+ "ExecutingFaults",
+ "Waiting",
+ "ValidationFailed",
+ "TestError",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "ChaosEventKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid Chaos event kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Started",
+ "description": "Indicates a Chaos event that gets generated when Chaos is started."
+ },
+ {
+ "value": "ExecutingFaults",
+ "description": "Indicates a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings."
+ },
+ {
+ "value": "Waiting",
+ "description": "Indicates a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish."
+ },
+ {
+ "value": "ValidationFailed",
+ "description": "Indicates a Chaos event that gets generated when the cluster entities do not become stable and healthy within ChaosParameters.MaxClusterStabilizationTimeoutInSeconds."
+ },
+ {
+ "value": "TestError",
+ "description": "Indicates a Chaos event that gets generated when an unexpected event has occurred in the Chaos engine, for example, due to the cluster snapshot being inconsistent, while faulting a faultable entity Chaos found that the entity was already faulted."
+ },
+ {
+ "value": "Stopped",
+ "description": "Indicates a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up."
+ }
+ ]
+ }
+ },
+ "ChaosEventsSegment": {
+ "description": "Contains the list of Chaos events and the continuation token to get the next segment.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "History": {
+ "$ref": "#/definitions/ChaosEventHistory",
+ "description": "List of Chaos events that meet the user-supplied criteria."
+ }
+ }
+ },
+ "ChaosScheduleDescription": {
+ "description": "Defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule. The version value wraps back to 0 after surpassing 2,147,483,647.",
+ "properties": {
+ "Version": {
+ "description": "The version number of the Schedule.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "Schedule": {
+ "$ref": "#/definitions/ChaosSchedule",
+ "description": "Defines the schedule used by Chaos."
+ }
+ }
+ },
+ "ChaosSchedule": {
+ "description": "Defines the schedule used by Chaos.",
+ "properties": {
+ "StartDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time Chaos will start using this schedule.",
+ "default": "1601-01-01T00:00:00Z"
+ },
+ "ExpiryDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time Chaos will continue to use this schedule until.",
+ "default": "9999-12-31T23:59:59.999Z"
+ },
+ "ChaosParametersDictionary": {
+ "type": "array",
+ "description": "A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.",
+ "items": {
+ "$ref": "#/definitions/ChaosParametersDictionaryItem"
+ }
+ },
+ "Jobs": {
+ "description": "A list of all Chaos Schedule Jobs that will be automated by the schedule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChaosScheduleJob"
+ }
+ }
+ }
+ },
+ "ChaosScheduleJob": {
+ "description": "Defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.",
+ "properties": {
+ "ChaosParameters": {
+ "type": "string",
+ "description": "A reference to which Chaos Parameters of the Chaos Schedule to use."
+ },
+ "Days": {
+ "$ref": "#/definitions/ChaosScheduleJobActiveDaysOfWeek",
+ "description": "Defines the days of the week that a Chaos Schedule Job will run for."
+ },
+ "Times": {
+ "description": "A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeRange"
+ }
+ }
+ }
+ },
+ "ChaosScheduleJobActiveDaysOfWeek": {
+ "description": "Defines the days of the week that a Chaos Schedule Job will run for.",
+ "properties": {
+ "Sunday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Sunday",
+ "default": false
+ },
+ "Monday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Monday",
+ "default": false
+ },
+ "Tuesday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Tuesday",
+ "default": false
+ },
+ "Wednesday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Wednesday",
+ "default": false
+ },
+ "Thursday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Thursday",
+ "default": false
+ },
+ "Friday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Friday",
+ "default": false
+ },
+ "Saturday": {
+ "type": "boolean",
+ "description": "Indicates if the Chaos Schedule Job will run on Saturday",
+ "default": false
+ }
+ }
+ },
+ "TimeRange": {
+ "description": "Defines a time range in a 24 hour day specified by a start and end time.",
+ "properties": {
+ "StartTime": {
+ "$ref": "#/definitions/TimeOfDay",
+ "description": "Defines an hour and minute of the day specified in 24 hour time."
+ },
+ "EndTime": {
+ "$ref": "#/definitions/TimeOfDay",
+ "description": "Defines an hour and minute of the day specified in 24 hour time."
+ }
+ }
+ },
+ "TimeOfDay": {
+ "description": "Defines an hour and minute of the day specified in 24 hour time.",
+ "properties": {
+ "Hour": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Represents the hour of the day. Value must be between 0 and 23 inclusive.",
+ "minimum": 0,
+ "maximum": 23
+ },
+ "Minute": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Represents the minute of the hour. Value must be between 0 to 59 inclusive.",
+ "minimum": 0,
+ "maximum": 59
+ }
+ }
+ },
+ "ExecutingFaultsChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos has decided on the faults for an iteration. This Chaos event contains the details of the faults as a list of strings.",
+ "x-ms-discriminator-value": "ExecutingFaults",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Faults": {
+ "type": "array",
+ "description": "List of string description of the faults that Chaos decided to execute in an iteration.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "StartedChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos is started.",
+ "x-ms-discriminator-value": "Started",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "ChaosParameters": {
+ "$ref": "#/definitions/ChaosParameters",
+ "description": "Defines all the parameters to configure a Chaos run."
+ }
+ }
+ },
+ "StoppedChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos stops because either the user issued a stop or the time to run was up.",
+ "x-ms-discriminator-value": "Stopped",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over."
+ }
+ }
+ },
+ "TestErrorChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when an unexpected event occurs in the Chaos engine.\nFor example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that the entity was already faulted -- which would be an unexpected event.",
+ "x-ms-discriminator-value": "TestError",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why TestErrorChaosEvent was generated. For example, Chaos tries to fault a partition but finds that the partition is no longer fault tolerant, then a TestErrorEvent gets generated with the reason stating that the partition is not fault tolerant."
+ }
+ }
+ },
+ "ValidationFailedChaosEvent": {
+ "description": "Chaos event corresponding to a failure during validation.",
+ "x-ms-discriminator-value": "ValidationFailed",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why the ValidationFailedChaosEvent was generated. This may happen because more than MaxPercentUnhealthyNodes are unhealthy for more than MaxClusterStabilizationTimeout. This reason will be in the Reason property of the ValidationFailedChaosEvent as a string."
+ }
+ }
+ },
+ "WaitingChaosEvent": {
+ "description": "Describes a Chaos event that gets generated when Chaos is waiting for the cluster to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.",
+ "x-ms-discriminator-value": "Waiting",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChaosEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade."
+ }
+ }
+ },
+ "ChaosEventHistory": {
+ "type": "array",
+ "description": "An list of Chaos events that were generated during the time range passed into the GetChaosReport API call.",
+ "items": {
+ "$ref": "#/definitions/ChaosEventWrapper"
+ }
+ },
+ "ChaosTargetFilter": {
+ "description": "Defines all filters for targeted Chaos faults, for example, faulting only certain node types or faulting only certain applications.\nIf ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter\nspecification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not possible to specify an intersection\nof NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify \"fault this application only when it is on that node type.\"\nOnce an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be excluded using ChaosTargetFilter. Even if\napplicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be faulted because it happens to be on a node of nodeTypeY that is included\nin NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty, an ArgumentException is thrown.",
+ "properties": {
+ "NodeTypeInclusionList": {
+ "type": "array",
+ "description": "A list of node types to include in Chaos faults.\nAll types of faults (restart node, restart code package, remove replica, restart replica, move primary, and move secondary) are enabled for the nodes of these node types.\nIf a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of\nNodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.\nhappens to reside on a node of NodeTypeX.\nAt most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.",
+ "items": {
+ "$ref": "#/definitions/NodeType"
+ }
+ },
+ "ApplicationInclusionList": {
+ "type": "array",
+ "description": "A list of application URIs to include in Chaos faults.\nAll replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.\nChaos may restart a code package only if the code package hosts replicas of these applications only.\nIf an application does not appear in this list, it can still be faulted in some Chaos iteration if the application ends up on a node of a node type that is included in NodeTypeInclusionList.\nHowever, if applicationX is tied to nodeTypeY through placement constraints and applicationX is absent from ApplicationInclusionList and nodeTypeY is absent from NodeTypeInclusionList, then applicationX will never be faulted.\nAt most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.",
+ "items": {
+ "$ref": "#/definitions/ApplicationName"
+ }
+ }
+ }
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "ApplicationCapacityDescription": {
+ "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application",
+ "properties": {
+ "MinimumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property.",
+ "minimum": 0
+ },
+ "MaximumNodes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node.",
+ "minimum": 0,
+ "default": 0
+ },
+ "ApplicationMetrics": {
+ "$ref": "#/definitions/ApplicationMetricDescriptionList",
+ "description": "List of application capacity metric description."
+ }
+ }
+ },
+ "ApplicationDescription": {
+ "description": "Describes a Service Fabric application.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "TypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "TypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "ParameterList": {
+ "$ref": "#/definitions/ApplicationParameterList",
+ "description": "List of application parameters with overridden values from their default values specified in the application manifest."
+ },
+ "ApplicationCapacity": {
+ "$ref": "#/definitions/ApplicationCapacityDescription",
+ "description": "Describes capacity information for services of this application. This description can be used for describing the following.\n- Reserving the capacity for the services on the nodes\n- Limiting the total number of nodes that services of this application can run on\n- Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application"
+ },
+ "ManagedApplicationIdentity": {
+ "$ref": "#/definitions/ManagedApplicationIdentityDescription",
+ "description": "Managed application identity description."
+ }
+ },
+ "required": [
+ "Name",
+ "TypeName",
+ "TypeVersion"
+ ]
+ },
+ "ApplicationMetricDescription": {
+ "description": "Describes capacity information for a custom resource balancing metric. This can be used to limit the total consumption of this metric by the services of this application.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "MaximumCapacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum node capacity for Service Fabric application.\nThis is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.\nIf set to zero, capacity for this metric is unlimited on each node.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.\nWhen updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity."
+ },
+ "ReservationCapacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The node reservation capacity for Service Fabric application.\nThis is the amount of load which is reserved on nodes which have instances of this application.\nIf MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.\nIf set to zero, no capacity is reserved for this metric.\nWhen setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric."
+ },
+ "TotalApplicationCapacity": {
+ "description": "The total metric capacity for Service Fabric application.\nThis is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.\nWhen creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "ApplicationMetricDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationMetricDescription"
+ },
+ "description": "List of application capacity metric description."
+ },
+ "ComposeDeploymentStatus": {
+ "type": "string",
+ "description": "The status of the compose deployment.",
+ "enum": [
+ "Invalid",
+ "Provisioning",
+ "Creating",
+ "Ready",
+ "Unprovisioning",
+ "Deleting",
+ "Failed",
+ "Upgrading"
+ ],
+ "x-ms-enum": {
+ "name": "ComposeDeploymentStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the compose deployment status is invalid. The value is zero."
+ },
+ {
+ "value": "Provisioning",
+ "description": "Indicates that the compose deployment is being provisioned in background. The value is 1."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates that the compose deployment is being created in background. The value is 2."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates that the compose deployment has been successfully created or upgraded. The value is 3."
+ },
+ {
+ "value": "Unprovisioning",
+ "description": "Indicates that the compose deployment is being unprovisioned in background. The value is 4."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates that the compose deployment is being deleted in background. The value is 5."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates that the compose deployment was terminated due to persistent failures. The value is 6."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates that the compose deployment is being upgraded in the background. The value is 7."
+ }
+ ]
+ }
+ },
+ "ComposeDeploymentStatusInfo": {
+ "description": "Information about a Service Fabric compose deployment.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/DeploymentName",
+ "description": "The name of the deployment."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "Status": {
+ "$ref": "#/definitions/ComposeDeploymentStatus",
+ "description": "The status of the compose deployment."
+ },
+ "StatusDetails": {
+ "description": "The status details of compose deployment including failure message.",
+ "type": "string"
+ }
+ }
+ },
+ "ComposeDeploymentUpgradeDescription": {
+ "description": "Describes the parameters for a compose deployment upgrade.",
+ "properties": {
+ "DeploymentName": {
+ "$ref": "#/definitions/DeploymentName",
+ "description": "The name of the deployment."
+ },
+ "ComposeFileContent": {
+ "type": "string",
+ "description": "The content of the compose file that describes the deployment to create."
+ },
+ "RegistryCredential": {
+ "$ref": "#/definitions/RegistryCredential",
+ "description": "Credential information to connect to container registry."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ }
+ },
+ "required": [
+ "DeploymentName",
+ "ComposeFileContent",
+ "UpgradeKind"
+ ]
+ },
+ "ComposeDeploymentUpgradeProgressInfo": {
+ "description": "Describes the parameters for a compose deployment upgrade.",
+ "properties": {
+ "DeploymentName": {
+ "$ref": "#/definitions/TargetDeploymentName",
+ "description": "The name of the target deployment."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/TargetApplicationName",
+ "description": "The name of the target application, including the 'fabric:' URI scheme."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/ComposeDeploymentUpgradeState",
+ "description": "The state of the compose deployment upgrade."
+ },
+ "UpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the pending upgrade."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "MonitoringPolicy": {
+ "$ref": "#/definitions/MonitoringPolicyDescription",
+ "description": "Describes the parameters for monitoring an upgrade in Monitored mode."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ },
+ "TargetApplicationTypeVersion": {
+ "$ref": "#/definitions/TargetApplicationTypeVersion",
+ "description": "The target application type version (found in the application manifest) for the application upgrade."
+ },
+ "UpgradeDuration": {
+ "$ref": "#/definitions/UpgradeDuration",
+ "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "CurrentUpgradeDomainDuration": {
+ "$ref": "#/definitions/CurrentUpgradeDomainDuration",
+ "description": "The estimated amount of time spent processing current Upgrade Domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "ApplicationUnhealthyEvaluations": {
+ "$ref": "#/definitions/ApplicationUnhealthyEvaluations",
+ "description": "List of health evaluations that resulted in the current aggregated health state."
+ },
+ "CurrentUpgradeDomainProgress": {
+ "$ref": "#/definitions/CurrentUpgradeDomainProgressInfo",
+ "description": "Information about the current in-progress upgrade domain."
+ },
+ "StartTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade started."
+ },
+ "FailureTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed."
+ },
+ "FailureReason": {
+ "$ref": "#/definitions/FailureReason",
+ "description": "The cause of an upgrade failure that resulted in FailureAction being executed."
+ },
+ "UpgradeDomainProgressAtFailure": {
+ "$ref": "#/definitions/FailureUpgradeDomainProgressInfo",
+ "description": "Information about the upgrade domain progress at the time of upgrade failure."
+ },
+ "ApplicationUpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional details of application upgrade including failure message."
+ }
+ }
+ },
+ "ComposeDeploymentUpgradeState": {
+ "type": "string",
+ "description": "The state of the compose deployment upgrade.",
+ "enum": [
+ "Invalid",
+ "ProvisioningTarget",
+ "RollingForwardInProgress",
+ "RollingForwardPending",
+ "UnprovisioningCurrent",
+ "RollingForwardCompleted",
+ "RollingBackInProgress",
+ "UnprovisioningTarget",
+ "RollingBackCompleted",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ComposeDeploymentUpgradeState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "ProvisioningTarget",
+ "description": "The upgrade is in the progress of provisioning target application type version. The value is 1."
+ },
+ {
+ "value": "RollingForwardInProgress",
+ "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2."
+ },
+ {
+ "value": "RollingForwardPending",
+ "description": "The current upgrade domain has finished upgrading. The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in Monitored mode. The value is 3"
+ },
+ {
+ "value": "UnprovisioningCurrent",
+ "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 4."
+ },
+ {
+ "value": "RollingForwardCompleted",
+ "description": "The upgrade has finished rolling forward. The value is 5."
+ },
+ {
+ "value": "RollingBackInProgress",
+ "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 6."
+ },
+ {
+ "value": "UnprovisioningTarget",
+ "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 7."
+ },
+ {
+ "value": "RollingBackCompleted",
+ "description": "The upgrade has finished rolling back. The value is 8."
+ },
+ {
+ "value": "Failed",
+ "description": "The upgrade has failed and is unable to execute FailureAction. The value is 9."
+ }
+ ]
+ }
+ },
+ "PagedComposeDeploymentStatusInfoList": {
+ "description": "The list of compose deployments in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of compose deployment status information.",
+ "items": {
+ "$ref": "#/definitions/ComposeDeploymentStatusInfo"
+ }
+ }
+ }
+ },
+ "CreateComposeDeploymentDescription": {
+ "description": "Defines description for creating a Service Fabric compose deployment.",
+ "properties": {
+ "DeploymentName": {
+ "$ref": "#/definitions/DeploymentName",
+ "description": "The name of the deployment."
+ },
+ "ComposeFileContent": {
+ "type": "string",
+ "description": "The content of the compose file that describes the deployment to create."
+ },
+ "RegistryCredential": {
+ "$ref": "#/definitions/RegistryCredential",
+ "description": "Credential information to connect to container registry."
+ }
+ },
+ "required": [
+ "DeploymentName",
+ "ComposeFileContent"
+ ]
+ },
+ "RegistryCredential": {
+ "description": "Credential information to connect to container registry.",
+ "properties": {
+ "RegistryUserName": {
+ "type": "string",
+ "description": "The user name to connect to container registry."
+ },
+ "RegistryPassword": {
+ "type": "string",
+ "description": "The password for supplied username to connect to container registry."
+ },
+ "PasswordEncrypted": {
+ "type": "boolean",
+ "description": "Indicates that supplied container registry password is encrypted."
+ }
+ }
+ },
+ "DeployedServicePackageInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServicePackageInfo"
+ },
+ "description": "List of deployed service package information."
+ },
+ "DeployedServicePackageInfo": {
+ "description": "Information about service package deployed on a Service Fabric node.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service package as specified in the service manifest."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the service package specified in service manifest."
+ },
+ "Status": {
+ "$ref": "#/definitions/DeploymentStatus",
+ "description": "Specifies the status of a deployed application or service package on a Service Fabric node."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeploymentName": {
+ "type": "string",
+ "description": "The name of the deployment."
+ },
+ "CorrelationSchemeList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceCorrelationDescription"
+ },
+ "description": "A list that describes the correlation of the service with other services."
+ },
+ "MoveCost": {
+ "type": "string",
+ "description": "Specifies the move cost for the service.",
+ "enum": [
+ "Zero",
+ "Low",
+ "Medium",
+ "High",
+ "VeryHigh"
+ ],
+ "x-ms-enum": {
+ "name": "MoveCost",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Zero",
+ "description": "Zero move cost. This value is zero."
+ },
+ {
+ "value": "Low",
+ "description": "Specifies the move cost of the service as Low. The value is 1."
+ },
+ {
+ "value": "Medium",
+ "description": "Specifies the move cost of the service as Medium. The value is 2."
+ },
+ {
+ "value": "High",
+ "description": "Specifies the move cost of the service as High. The value is 3."
+ },
+ {
+ "value": "VeryHigh",
+ "description": "Specifies the move cost of the service as VeryHigh. The value is 4."
+ }
+ ]
+ }
+ },
+ "PartitionScheme": {
+ "type": "string",
+ "description": "Enumerates the ways that a service can be partitioned.",
+ "enum": [
+ "Invalid",
+ "Singleton",
+ "UniformInt64Range",
+ "Named"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Singleton",
+ "description": "Indicates that the partition is based on string names, and is a SingletonPartitionSchemeDescription object, The value is 1."
+ },
+ {
+ "value": "UniformInt64Range",
+ "description": "Indicates that the partition is based on Int64 key ranges, and is a UniformInt64RangePartitionSchemeDescription object. The value is 2."
+ },
+ {
+ "value": "Named",
+ "description": "Indicates that the partition is based on string names, and is a NamedPartitionSchemeDescription object. The value is 3"
+ }
+ ]
+ }
+ },
+ "ServiceCorrelationDescription": {
+ "description": "Creates a particular correlation between services.",
+ "required": [
+ "Scheme",
+ "ServiceName"
+ ],
+ "properties": {
+ "Scheme": {
+ "$ref": "#/definitions/ServiceCorrelationScheme",
+ "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service that the correlation relationship is established with."
+ }
+ }
+ },
+ "ServiceCorrelationScheme": {
+ "type": "string",
+ "description": "The service correlation scheme.",
+ "enum": [
+ "Invalid",
+ "Affinity",
+ "AlignedAffinity",
+ "NonAlignedAffinity"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceCorrelationScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "An invalid correlation scheme. Cannot be used. The value is zero."
+ },
+ {
+ "value": "Affinity",
+ "description": "Indicates that this service has an affinity relationship with another service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity options. The value is 1."
+ },
+ {
+ "value": "AlignedAffinity",
+ "description": "Aligned affinity ensures that the primaries of the partitions of the affinitized services are collocated on the same nodes. This is the default and is the same as selecting the Affinity scheme. The value is 2."
+ },
+ {
+ "value": "NonAlignedAffinity",
+ "description": "Non-Aligned affinity guarantees that all replicas of each service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas of particular role will be collocated. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServiceLoadMetricsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceLoadMetricDescription"
+ },
+ "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects."
+ },
+ "ServiceLoadMetricDescription": {
+ "description": "Specifies a metric to load balance a service during runtime.",
+ "required": [
+ "Name"
+ ],
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case-sensitive."
+ },
+ "Weight": {
+ "$ref": "#/definitions/ServiceLoadMetricWeight",
+ "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number."
+ },
+ "PrimaryDefaultLoad": {
+ "type": "integer",
+ "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica."
+ },
+ "SecondaryDefaultLoad": {
+ "type": "integer",
+ "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica."
+ },
+ "DefaultLoad": {
+ "type": "integer",
+ "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric."
+ }
+ }
+ },
+ "ServiceLoadMetricWeight": {
+ "type": "string",
+ "description": "Determines the metric weight relative to the other metrics that are configured for this service. During runtime, if two metrics end up in conflict, the Cluster Resource Manager prefers the metric with the higher weight.",
+ "enum": [
+ "Zero",
+ "Low",
+ "Medium",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceLoadMetricWeight",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Zero",
+ "description": "Disables resource balancing for this metric. This value is zero."
+ },
+ {
+ "value": "Low",
+ "description": "Specifies the metric weight of the service load as Low. The value is 1."
+ },
+ {
+ "value": "Medium",
+ "description": "Specifies the metric weight of the service load as Medium. The value is 2."
+ },
+ {
+ "value": "High",
+ "description": "Specifies the metric weight of the service load as High. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServicePackageActivationMode": {
+ "type": "string",
+ "description": "The activation mode of service package to be used for a Service Fabric service. This is specified at the time of creating the Service.",
+ "enum": [
+ "SharedProcess",
+ "ExclusiveProcess"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePackageActivationMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "SharedProcess",
+ "description": "This is the default activation mode. With this activation mode, replicas or instances from different partition(s) of service, on a given node, will share same activation of service package on a node. The value is zero."
+ },
+ {
+ "value": "ExclusiveProcess",
+ "description": "With this activation mode, each replica or instance of service, on a given node, will have its own dedicated activation of service package on a node. The value is 1."
+ }
+ ]
+ }
+ },
+ "ServicePlacementPoliciesList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServicePlacementPolicyDescription"
+ },
+ "description": "A list that describes the correlation of the service with other services."
+ },
+ "PartitionSchemeDescription": {
+ "discriminator": "PartitionScheme",
+ "description": "Describes how the service is partitioned.",
+ "required": [
+ "PartitionScheme"
+ ],
+ "properties": {
+ "PartitionScheme": {
+ "$ref": "#/definitions/PartitionScheme",
+ "description": "Specifies how the service is partitioned."
+ }
+ }
+ },
+ "NamedPartitionSchemeDescription": {
+ "description": "Describes the named partition scheme of the service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSchemeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Named",
+ "required": [
+ "Count",
+ "Names"
+ ],
+ "properties": {
+ "Count": {
+ "type": "integer",
+ "description": "The number of partitions."
+ },
+ "Names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of size specified by the ‘Count’ parameter, for the names of the partitions."
+ }
+ }
+ },
+ "SingletonPartitionSchemeDescription": {
+ "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSchemeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Singleton"
+ },
+ "UniformInt64RangePartitionSchemeDescription": {
+ "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionSchemeDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "UniformInt64Range",
+ "required": [
+ "Count",
+ "LowKey",
+ "HighKey"
+ ],
+ "properties": {
+ "Count": {
+ "type": "integer",
+ "description": "The number of partitions."
+ },
+ "LowKey": {
+ "type": "string",
+ "description": "String indicating the lower bound of the partition key range that\nshould be split between the partitions."
+ },
+ "HighKey": {
+ "type": "string",
+ "description": "String indicating the upper bound of the partition key range that\nshould be split between the partitions."
+ }
+ }
+ },
+ "ServiceDescription": {
+ "discriminator": "ServiceKind",
+ "description": "A ServiceDescription contains all of the information necessary to create a service.",
+ "required": [
+ "ServiceKind",
+ "ServiceName",
+ "ServiceTypeName",
+ "PartitionDescription"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The service kind."
+ },
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "InitializationData": {
+ "$ref": "#/definitions/ByteArray",
+ "description": "The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created."
+ },
+ "PartitionDescription": {
+ "$ref": "#/definitions/PartitionSchemeDescription",
+ "description": "The partition description as an object."
+ },
+ "PlacementConstraints": {
+ "type": "string",
+ "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"."
+ },
+ "CorrelationScheme": {
+ "$ref": "#/definitions/CorrelationSchemeList",
+ "description": "The correlation scheme."
+ },
+ "ServiceLoadMetrics": {
+ "$ref": "#/definitions/ServiceLoadMetricsList",
+ "description": "The service load metrics."
+ },
+ "ServicePlacementPolicies": {
+ "$ref": "#/definitions/ServicePlacementPoliciesList",
+ "description": "The service placement policies."
+ },
+ "DefaultMoveCost": {
+ "$ref": "#/definitions/MoveCost",
+ "description": "The move cost for the service."
+ },
+ "IsDefaultMoveCostSpecified": {
+ "type": "boolean",
+ "description": "Indicates if the DefaultMoveCost property is specified."
+ },
+ "ServicePackageActivationMode": {
+ "$ref": "#/definitions/ServicePackageActivationMode",
+ "description": "The activation mode of service package to be used for a service."
+ },
+ "ServiceDnsName": {
+ "type": "string",
+ "description": "The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster."
+ },
+ "ScalingPolicies": {
+ "$ref": "#/definitions/ScalingPolicyDescriptionList",
+ "description": "Scaling policies for this service."
+ }
+ }
+ },
+ "StatefulServiceDescription": {
+ "description": "Describes a stateful service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "required": [
+ "TargetReplicaSetSize",
+ "MinReplicaSetSize",
+ "HasPersistedState"
+ ],
+ "properties": {
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The target replica set size as a number."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The minimum replica set size as a number."
+ },
+ "HasPersistedState": {
+ "type": "boolean",
+ "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false."
+ },
+ "Flags": {
+ "type": "integer",
+ "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 8."
+ },
+ "ReplicaRestartWaitDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The duration, in seconds, between when a replica goes down and when a new replica is created."
+ },
+ "QuorumLossWaitDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss."
+ },
+ "StandByReplicaKeepDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The definition on how long StandBy replicas should be maintained before being removed."
+ },
+ "ServicePlacementTimeLimitSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The duration for which replicas can stay InBuild before reporting that build is stuck."
+ }
+ }
+ },
+ "StatelessServiceDescription": {
+ "description": "Describes a stateless service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "required": [
+ "InstanceCount"
+ ],
+ "properties": {
+ "InstanceCount": {
+ "type": "integer",
+ "minimum": -1,
+ "description": "The instance count."
+ },
+ "MinInstanceCount": {
+ "$ref": "#/definitions/MinInstanceCount",
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "$ref": "#/definitions/MinInstancePercentage",
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "Flags": {
+ "type": "integer",
+ "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 1 then the flags for InstanceCloseDelayDuration is set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 1."
+ },
+ "InstanceCloseDelayDurationSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/en-us/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests.\nNote, the default value of InstanceCloseDelayDuration is 0, which indicates that there won't be any delay or removal of the endpoint prior to closing the instance."
+ }
+ }
+ },
+ "ReplicatorQueueStatus": {
+ "description": "Provides various statistics of the queue used in the service fabric replicator.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.\nDepending on the role of the replicator, the properties in this type imply different meanings.",
+ "properties": {
+ "QueueUtilizationPercentage": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Represents the utilization of the queue. A value of 0 indicates that the queue is empty and a value of 100 indicates the queue is full."
+ },
+ "QueueMemorySize": {
+ "type": "string",
+ "description": "Represents the virtual memory consumed by the queue in bytes."
+ },
+ "FirstSequenceNumber": {
+ "type": "string",
+ "description": "On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is the smallest sequence number of the operation that is present in the queue."
+ },
+ "CompletedSequenceNumber": {
+ "type": "string",
+ "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which all the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state."
+ },
+ "CommittedSequenceNumber": {
+ "type": "string",
+ "description": "On a primary replicator, this is semantically the highest sequence number of the operation for which a write quorum of the secondary replicas have sent an acknowledgement.\nOn a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary."
+ },
+ "LastSequenceNumber": {
+ "type": "string",
+ "description": "Represents the latest sequence number of the operation that is available in the queue."
+ }
+ }
+ },
+ "ReplicatorStatus": {
+ "discriminator": "Kind",
+ "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "The role of a replica of a stateful service."
+ }
+ }
+ },
+ "PrimaryReplicatorStatus": {
+ "x-ms-discriminator-value": "Primary",
+ "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a Primary role.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicatorStatus"
+ }
+ ],
+ "properties": {
+ "ReplicationQueueStatus": {
+ "$ref": "#/definitions/ReplicatorQueueStatus",
+ "description": "Details about the replication queue on the primary replicator."
+ },
+ "RemoteReplicators": {
+ "$ref": "#/definitions/RemoteReplicatorStatusList",
+ "description": "The status of all the active and idle secondary replicators that the primary is aware of."
+ }
+ }
+ },
+ "SecondaryReplicatorStatus": {
+ "description": "Provides statistics about the Service Fabric Replicator, when it is functioning in a ActiveSecondary role.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicatorStatus"
+ }
+ ],
+ "properties": {
+ "ReplicationQueueStatus": {
+ "$ref": "#/definitions/ReplicatorQueueStatus",
+ "description": "Details about the replication queue on the secondary replicator."
+ },
+ "LastReplicationOperationReceivedTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time-stamp (UTC) at which a replication operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a replication operation message was never received."
+ },
+ "IsInBuild": {
+ "type": "boolean",
+ "description": "Value that indicates whether the replica is currently being built."
+ },
+ "CopyQueueStatus": {
+ "$ref": "#/definitions/ReplicatorQueueStatus",
+ "description": "Details about the copy queue on the secondary replicator."
+ },
+ "LastCopyOperationReceivedTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time-stamp (UTC) at which a copy operation was received from the primary.\nUTC 0 represents an invalid value, indicating that a copy operation message was never received."
+ },
+ "LastAcknowledgementSentTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.\nUTC 0 represents an invalid value, indicating that an acknowledgment message was never sent."
+ }
+ }
+ },
+ "SecondaryActiveReplicatorStatus": {
+ "x-ms-discriminator-value": "ActiveSecondary",
+ "description": "Status of the secondary replicator when it is in active mode and is part of the replica set.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecondaryReplicatorStatus"
+ }
+ ]
+ },
+ "SecondaryIdleReplicatorStatus": {
+ "x-ms-discriminator-value": "IdleSecondary",
+ "description": "Status of the secondary replicator when it is in idle mode and is being built by the primary.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecondaryReplicatorStatus"
+ }
+ ]
+ },
+ "RemoteReplicatorStatus": {
+ "description": "Represents the state of the secondary replicator from the primary replicator’s point of view.",
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Represents the replica ID of the remote secondary replicator."
+ },
+ "LastAcknowledgementProcessedTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.\nUTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed."
+ },
+ "LastReceivedReplicationSequenceNumber": {
+ "type": "string",
+ "description": "The highest replication operation sequence number that the secondary has received from the primary."
+ },
+ "LastAppliedReplicationSequenceNumber": {
+ "type": "string",
+ "description": "The highest replication operation sequence number that the secondary has applied to its state."
+ },
+ "IsInBuild": {
+ "type": "boolean",
+ "description": "A value that indicates whether the secondary replica is in the process of being built."
+ },
+ "LastReceivedCopySequenceNumber": {
+ "type": "string",
+ "description": "The highest copy operation sequence number that the secondary has received from the primary.\nA value of -1 implies that the secondary has received all copy operations."
+ },
+ "LastAppliedCopySequenceNumber": {
+ "type": "string",
+ "description": "The highest copy operation sequence number that the secondary has applied to its state.\nA value of -1 implies that the secondary has applied all copy operations and the copy process is complete."
+ },
+ "RemoteReplicatorAcknowledgementStatus": {
+ "$ref": "#/definitions/RemoteReplicatorAcknowledgementStatus",
+ "description": "Represents the acknowledgment status for the remote secondary replicator."
+ }
+ }
+ },
+ "RemoteReplicatorStatusList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteReplicatorStatus"
+ },
+ "description": "List of remote replicator status"
+ },
+ "RemoteReplicatorAcknowledgementStatus": {
+ "description": "Provides details about the remote replicators from the primary replicator's point of view.",
+ "properties": {
+ "ReplicationStreamAcknowledgementDetail": {
+ "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail",
+ "description": "Details about the acknowledgements for operations that are part of the replication stream data."
+ },
+ "CopyStreamAcknowledgementDetail": {
+ "$ref": "#/definitions/RemoteReplicatorAcknowledgementDetail",
+ "description": "Details about the acknowledgements for operations that are part of the copy stream data."
+ }
+ }
+ },
+ "RemoteReplicatorAcknowledgementDetail": {
+ "description": "Provides various statistics of the acknowledgements that are being received from the remote replicator.",
+ "properties": {
+ "AverageReceiveDuration": {
+ "type": "string",
+ "description": "Represents the average duration it takes for the remote replicator to receive an operation."
+ },
+ "AverageApplyDuration": {
+ "type": "string",
+ "description": "Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk."
+ },
+ "NotReceivedCount": {
+ "type": "string",
+ "description": "Represents the number of operations not yet received by a remote replicator."
+ },
+ "ReceivedAndNotAppliedCount": {
+ "type": "string",
+ "description": "Represents the number of operations received and not yet applied by a remote replicator."
+ }
+ }
+ },
+ "DeployedServiceReplicaDetailInfo": {
+ "discriminator": "ServiceKind",
+ "description": "Information about a Service Fabric service replica deployed on a node.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The kind of service (Stateless or Stateful)."
+ },
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "Full hierarchical name of the service in URI format starting with `fabric:`."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ },
+ "CurrentServiceOperation": {
+ "$ref": "#/definitions/ServiceOperationName",
+ "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance."
+ },
+ "CurrentServiceOperationStartTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time of the current service operation in UTC format."
+ },
+ "ReportedLoad": {
+ "$ref": "#/definitions/LoadMetricReportInfoList",
+ "description": "List of load reported by replica."
+ }
+ }
+ },
+ "DeployedStatefulServiceReplicaDetailInfo": {
+ "description": "Information about a stateful replica running in a code package. Note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and replicaId.",
+ "x-ms-discriminator-value": "Stateful",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ ],
+ "properties": {
+ "ReplicaId": {
+ "$ref": "#/definitions/ReplicaId",
+ "description": "Id of a stateful service replica. ReplicaId is used by Service Fabric to uniquely identify a replica of a partition. It is unique within a partition and does not change for the lifetime of the replica. If a replica gets dropped and another replica gets created on the same node for the same partition, it will get a different value for the id. Sometimes the id of a stateless service instance is also referred as a replica id."
+ },
+ "CurrentReplicatorOperation": {
+ "$ref": "#/definitions/ReplicatorOperationName",
+ "description": "Specifies the operation currently being executed by the Replicator."
+ },
+ "ReadStatus": {
+ "$ref": "#/definitions/PartitionAccessStatus",
+ "description": "Specifies the access status of the partition."
+ },
+ "WriteStatus": {
+ "$ref": "#/definitions/PartitionAccessStatus",
+ "description": "Specifies the access status of the partition."
+ },
+ "ReplicatorStatus": {
+ "$ref": "#/definitions/ReplicatorStatus",
+ "description": "Represents a base class for primary or secondary replicator status.\nContains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc."
+ },
+ "ReplicaStatus": {
+ "$ref": "#/definitions/KeyValueStoreReplicaStatus",
+ "description": "Key value store related information for the replica."
+ },
+ "DeployedServiceReplicaQueryResult": {
+ "$ref": "#/definitions/DeployedStatefulServiceReplicaInfo",
+ "description": "Information about a stateful service replica deployed on a node."
+ }
+ }
+ },
+ "DeployedStatelessServiceInstanceDetailInfo": {
+ "description": "Information about a stateless instance running in a code package. Note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId and InstanceId.",
+ "x-ms-discriminator-value": "Stateless",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeployedServiceReplicaDetailInfo"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "$ref": "#/definitions/InstanceId",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ },
+ "DeployedServiceReplicaQueryResult": {
+ "$ref": "#/definitions/DeployedStatelessServiceInstanceInfo",
+ "description": "Information about a stateless service instance deployed on a node."
+ }
+ }
+ },
+ "FabricReplicaStatus": {
+ "type": "string",
+ "description": "Specifies the status of the replica.",
+ "enum": [
+ "Invalid",
+ "Down",
+ "Up"
+ ],
+ "x-ms-enum": {
+ "name": "FabricReplicaStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller."
+ },
+ {
+ "value": "Down",
+ "description": "Indicates that the replica is down."
+ },
+ {
+ "value": "Up",
+ "description": "Indicates that the replica is up."
+ }
+ ]
+ }
+ },
+ "LoadMetricReportInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadMetricReportInfo"
+ },
+ "description": "List of load reported by replica."
+ },
+ "LoadMetricReportInfo": {
+ "description": "Information about load reported by replica.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "Value": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The value of the load for the metric. In future releases of Service Fabric this parameter will be deprecated in favor of CurrentValue."
+ },
+ "CurrentValue": {
+ "type": "string",
+ "format": "double",
+ "description": "The double value of the load for the metric."
+ },
+ "LastReportedUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC time when the load is reported."
+ }
+ }
+ },
+ "PartitionAccessStatus": {
+ "type": "string",
+ "description": "Specifies the access status of the partition.",
+ "enum": [
+ "Invalid",
+ "Granted",
+ "ReconfigurationPending",
+ "NotPrimary",
+ "NoWriteQuorum"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionAccessStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the read or write operation access status is not valid. This value is not returned to the caller."
+ },
+ {
+ "value": "Granted",
+ "description": "Indicates that the read or write operation access is granted and the operation is allowed."
+ },
+ {
+ "value": "ReconfigurationPending",
+ "description": "Indicates that the client should try again later, because a reconfiguration is in progress."
+ },
+ {
+ "value": "NotPrimary",
+ "description": "Indicates that this client request was received by a replica that is not a Primary replica."
+ },
+ {
+ "value": "NoWriteQuorum",
+ "description": "Indicates that no write quorum is available and, therefore, no write operation can be accepted."
+ }
+ ]
+ }
+ },
+ "ReplicatorOperationName": {
+ "type": "string",
+ "description": "Specifies the operation currently being executed by the Replicator.",
+ "enum": [
+ "Invalid",
+ "None",
+ "Open",
+ "ChangeRole",
+ "UpdateEpoch",
+ "Close",
+ "Abort",
+ "OnDataLoss",
+ "WaitForCatchup",
+ "Build"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicatorOperationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Default value if the replicator is not yet ready."
+ },
+ {
+ "value": "None",
+ "description": "Replicator is not running any operation from Service Fabric perspective."
+ },
+ {
+ "value": "Open",
+ "description": "Replicator is opening."
+ },
+ {
+ "value": "ChangeRole",
+ "description": "Replicator is in the process of changing its role."
+ },
+ {
+ "value": "UpdateEpoch",
+ "description": "Due to a change in the replica set, replicator is being updated with its Epoch."
+ },
+ {
+ "value": "Close",
+ "description": "Replicator is closing."
+ },
+ {
+ "value": "Abort",
+ "description": "Replicator is being aborted."
+ },
+ {
+ "value": "OnDataLoss",
+ "description": "Replicator is handling the data loss condition, where the user service may potentially be recovering state from an external source."
+ },
+ {
+ "value": "WaitForCatchup",
+ "description": "Replicator is waiting for a quorum of replicas to be caught up to the latest state."
+ },
+ {
+ "value": "Build",
+ "description": "Replicator is in the process of building one or more replicas."
+ }
+ ]
+ }
+ },
+ "ServiceOperationName": {
+ "type": "string",
+ "description": "Specifies the current active life-cycle operation on a stateful service replica or stateless service instance.",
+ "enum": [
+ "Unknown",
+ "None",
+ "Open",
+ "ChangeRole",
+ "Close",
+ "Abort"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceOperationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Reserved for future use."
+ },
+ {
+ "value": "None",
+ "description": "The service replica or instance is not going through any life-cycle changes."
+ },
+ {
+ "value": "Open",
+ "description": "The service replica or instance is being opened."
+ },
+ {
+ "value": "ChangeRole",
+ "description": "The service replica is changing roles."
+ },
+ {
+ "value": "Close",
+ "description": "The service replica or instance is being closed."
+ },
+ {
+ "value": "Abort",
+ "description": "The service replica or instance is being aborted."
+ }
+ ]
+ }
+ },
+ "ReplicaKind": {
+ "type": "string",
+ "description": "The role of a replica of a stateful service.",
+ "enum": [
+ "Invalid",
+ "KeyValueStore"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicaKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Represents an invalid replica kind. The value is zero."
+ },
+ {
+ "value": "KeyValueStore",
+ "description": "Represents a key value store replica. The value is 1"
+ }
+ ]
+ }
+ },
+ "ReplicaStatusBase": {
+ "discriminator": "Kind",
+ "description": "Information about the replica.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ReplicaKind",
+ "description": "The role of a replica of a stateful service."
+ }
+ }
+ },
+ "KeyValueStoreReplicaStatus": {
+ "description": "Key value store related information for the replica.",
+ "x-ms-discriminator-value": "KeyValueStore",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaStatusBase"
+ }
+ ],
+ "properties": {
+ "DatabaseRowCountEstimate": {
+ "type": "string",
+ "description": "Value indicating the estimated number of rows in the underlying database."
+ },
+ "DatabaseLogicalSizeEstimate": {
+ "type": "string",
+ "description": "Value indicating the estimated size of the underlying database."
+ },
+ "CopyNotificationCurrentKeyFilter": {
+ "type": "string",
+ "description": "Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback."
+ },
+ "CopyNotificationCurrentProgress": {
+ "type": "string",
+ "description": "Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback."
+ },
+ "StatusDetails": {
+ "type": "string",
+ "description": "Value indicating the current status details of the replica."
+ }
+ }
+ },
+ "ServiceUpdateDescription": {
+ "discriminator": "ServiceKind",
+ "description": "A ServiceUpdateDescription contains all of the information necessary to update a service.",
+ "required": [
+ "ServiceKind"
+ ],
+ "properties": {
+ "ServiceKind": {
+ "$ref": "#/definitions/ServiceKind",
+ "description": "The service kind."
+ },
+ "Flags": {
+ "type": "string",
+ "description": "Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified.\nThis property can be a combination of those flags obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.\n\n- None - Does not indicate any other properties are set. The value is zero.\n- TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.\n- ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 2.\n- QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.\n- StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.\n- MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.\n- PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.\n- PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.\n- Correlation - Indicates the CorrelationScheme property is set. The value is 128.\n- Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.\n- DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.\n- ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.\n- ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 2048.\n- MinInstanceCount - Indicates the MinInstanceCount property is set. The value is 4096.\n- MinInstancePercentage - Indicates the MinInstancePercentage property is set. The value is 8192.\n- InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 16384."
+ },
+ "PlacementConstraints": {
+ "type": "string",
+ "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"."
+ },
+ "CorrelationScheme": {
+ "$ref": "#/definitions/CorrelationSchemeList",
+ "description": "The correlation scheme."
+ },
+ "LoadMetrics": {
+ "$ref": "#/definitions/ServiceLoadMetricsList",
+ "description": "The service load metrics."
+ },
+ "ServicePlacementPolicies": {
+ "$ref": "#/definitions/ServicePlacementPoliciesList",
+ "description": "The service placement policies."
+ },
+ "DefaultMoveCost": {
+ "$ref": "#/definitions/MoveCost",
+ "description": "The move cost for the service."
+ },
+ "ScalingPolicies": {
+ "$ref": "#/definitions/ScalingPolicyDescriptionList",
+ "description": "Scaling policies for this service."
+ }
+ }
+ },
+ "StatefulServiceUpdateDescription": {
+ "description": "Describes an update for a stateful service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceUpdateDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateful",
+ "properties": {
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The target replica set size as a number."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "minimum": 1,
+ "description": "The minimum replica set size as a number."
+ },
+ "ReplicaRestartWaitDurationSeconds": {
+ "type": "string",
+ "description": "The duration, in seconds, between when a replica goes down and when a new replica is created."
+ },
+ "QuorumLossWaitDurationSeconds": {
+ "type": "string",
+ "description": "The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss."
+ },
+ "StandByReplicaKeepDurationSeconds": {
+ "type": "string",
+ "description": "The definition on how long StandBy replicas should be maintained before being removed."
+ },
+ "ServicePlacementTimeLimitSeconds": {
+ "type": "string",
+ "description": "The duration for which replicas can stay InBuild before reporting that build is stuck."
+ }
+ }
+ },
+ "StatelessServiceUpdateDescription": {
+ "description": "Describes an update for a stateless service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceUpdateDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Stateless",
+ "properties": {
+ "InstanceCount": {
+ "type": "integer",
+ "minimum": -1,
+ "description": "The instance count."
+ },
+ "MinInstanceCount": {
+ "$ref": "#/definitions/MinInstanceCount",
+ "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "MinInstancePercentage": {
+ "$ref": "#/definitions/MinInstancePercentage",
+ "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node.\nThe actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).\nNote, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service."
+ },
+ "InstanceCloseDelayDurationSeconds": {
+ "type": "string",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade and disabling node.\nThe endpoint exposed on this instance is removed prior to starting the delay, which prevents new connections to this instance.\nIn addition, clients that have subscribed to service endpoint change events(https://docs.microsoft.com/en-us/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), can do\nthe following upon receiving the endpoint removal notification:\n - Stop sending new requests to this instance.\n - Close existing connections after in-flight requests have completed.\n - Connect to a different instance of the service partition for future requests."
+ }
+ }
+ },
+ "ImageStoreRelativePath": {
+ "type": "string",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "FileVersion": {
+ "description": "Information about the version of image store file.",
+ "properties": {
+ "VersionNumber": {
+ "type": "string",
+ "description": "The current image store version number for the file is used in image store for checking whether it need to be updated."
+ },
+ "EpochDataLossNumber": {
+ "type": "string",
+ "description": "The epoch data loss number of image store replica when this file entry was updated or created."
+ },
+ "EpochConfigurationNumber": {
+ "type": "string",
+ "description": "The epoch configuration version number of the image store replica when this file entry was created or updated."
+ }
+ }
+ },
+ "DiskInfo": {
+ "description": "Information about the disk",
+ "properties": {
+ "Capacity": {
+ "type": "string",
+ "description": "the disk size in bytes"
+ },
+ "AvailableSpace": {
+ "type": "string",
+ "description": "the available disk space in bytes"
+ }
+ }
+ },
+ "FileInfo": {
+ "description": "Information about a image store file.",
+ "properties": {
+ "FileSize": {
+ "type": "string",
+ "description": "The size of file in bytes."
+ },
+ "FileVersion": {
+ "$ref": "#/definitions/FileVersion",
+ "description": "Information about the version of image store file."
+ },
+ "ModifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the image store file was last modified."
+ },
+ "StoreRelativePath": {
+ "type": "string",
+ "description": "The file path relative to the image store root path."
+ }
+ }
+ },
+ "FolderInfo": {
+ "description": "Information about a image store folder. It includes how many files this folder contains and its image store relative path.",
+ "properties": {
+ "StoreRelativePath": {
+ "$ref": "#/definitions/ImageStoreRelativePath",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "FileCount": {
+ "type": "string",
+ "description": "The number of files from within the image store folder."
+ }
+ }
+ },
+ "FolderSizeInfo": {
+ "description": "Information of a image store folder size",
+ "properties": {
+ "StoreRelativePath": {
+ "$ref": "#/definitions/ImageStoreRelativePath",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "FolderSize": {
+ "type": "string",
+ "description": "The size of folder in bytes."
+ }
+ }
+ },
+ "UsageInfo": {
+ "description": "Information about how much space and how many files in the file system the ImageStore is using in this category",
+ "properties": {
+ "UsedSpace": {
+ "type": "string",
+ "description": "the size of all files in this category"
+ },
+ "FileCount": {
+ "type": "string",
+ "description": "the number of all files in this category"
+ }
+ }
+ },
+ "ImageStoreContent": {
+ "description": "Information about the image store content.",
+ "properties": {
+ "StoreFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FileInfo"
+ },
+ "description": "The list of image store file info objects represents files found under the given image store relative path."
+ },
+ "StoreFolders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FolderInfo"
+ },
+ "description": "The list of image store folder info objects represents subfolders found under the given image store relative path."
+ }
+ }
+ },
+ "ImageStoreCopyDescription": {
+ "description": "Information about how to copy image store content from one image store relative path to another image store relative path.",
+ "required": [
+ "RemoteSource",
+ "RemoteDestination"
+ ],
+ "properties": {
+ "RemoteSource": {
+ "type": "string",
+ "description": "The relative path of source image store content to be copied from."
+ },
+ "RemoteDestination": {
+ "type": "string",
+ "description": "The relative path of destination image store content to be copied to."
+ },
+ "SkipFiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of the file names to be skipped for copying."
+ },
+ "CheckMarkFile": {
+ "type": "boolean",
+ "description": "Indicates whether to check mark file during copying. The property is true if checking mark file is required, false otherwise. The mark file is used to check whether the folder is well constructed. If the property is true and mark file does not exist, the copy is skipped."
+ }
+ }
+ },
+ "ImageStoreInfo": {
+ "description": "Information about the ImageStore's resource usage",
+ "properties": {
+ "DiskInfo": {
+ "$ref": "#/definitions/DiskInfo",
+ "description": "disk capacity and available disk space on the node where the ImageStore primary is placed."
+ },
+ "UsedByMetadata": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "the ImageStore's file system usage for metadata."
+ },
+ "UsedByStaging": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "The ImageStore's file system usage for staging files that are being uploaded."
+ },
+ "UsedByCopy": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "the ImageStore's file system usage for copied application and cluster packages. [Removing application and cluster packages](https://docs.microsoft.com/en-us/rest/api/servicefabric/sfclient-api-deleteimagestorecontent) will free up this space."
+ },
+ "UsedByRegister": {
+ "$ref": "#/definitions/UsageInfo",
+ "description": "the ImageStore's file system usage for registered and cluster packages. [Unregistering application](https://docs.microsoft.com/en-us/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) and [cluster packages](https://docs.microsoft.com/en-us/rest/api/servicefabric/sfclient-api-unprovisionapplicationtype) will free up this space."
+ }
+ }
+ },
+ "InstanceId": {
+ "type": "string",
+ "description": "Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely identify an instance of a partition of a stateless service. It is unique within a partition and does not change for the lifetime of the instance. If the instance has failed over on the same or different node, it will get a different value for the InstanceId."
+ },
+ "CodePackageInstanceId": {
+ "type": "string",
+ "description": "The instance ID for current running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started. Each time entry point executable is run, its instance id will change."
+ },
+ "HostIsolationMode": {
+ "type": "string",
+ "description": "Specifies the isolation mode of main entry point of a code package when it's host type is ContainerHost. This is specified as part of container host policies in application manifest while importing service manifest.",
+ "enum": [
+ "None",
+ "Process",
+ "HyperV"
+ ],
+ "x-ms-enum": {
+ "name": "HostIsolationMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Indicates the isolation mode is not applicable for given HostType. The value is 0."
+ },
+ {
+ "value": "Process",
+ "description": "This is the default isolation mode for a ContainerHost. The value is 1."
+ },
+ {
+ "value": "HyperV",
+ "description": "Indicates the ContainerHost is a Hyper-V container. This applies to only Windows containers. The value is 2."
+ }
+ ]
+ }
+ },
+ "HostType": {
+ "type": "string",
+ "description": "Specifies the type of host for main entry point of a code package as specified in service manifest.",
+ "enum": [
+ "Invalid",
+ "ExeHost",
+ "ContainerHost"
+ ],
+ "x-ms-enum": {
+ "name": "HostType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the type of host is not known or invalid. The value is 0."
+ },
+ {
+ "value": "ExeHost",
+ "description": "Indicates the host is an executable. The value is 1."
+ },
+ {
+ "value": "ContainerHost",
+ "description": "Indicates the host is a container. The value is 2."
+ }
+ ]
+ }
+ },
+ "RestartDeployedCodePackageDescription": {
+ "description": "Defines description for restarting a deployed code package on Service Fabric node.",
+ "required": [
+ "ServiceManifestName",
+ "CodePackageName",
+ "CodePackageInstanceId"
+ ],
+ "properties": {
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of service manifest that specified this code package."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ },
+ "CodePackageName": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package defined in the service manifest."
+ },
+ "CodePackageInstanceId": {
+ "$ref": "#/definitions/CodePackageInstanceId",
+ "description": "The instance ID for currently running entry point. For a code package setup entry point (if specified) runs first and after it finishes main entry point is started.\nEach time entry point executable is run, its instance ID will change. If 0 is passed in as the code package instance ID, the API will restart the code package with whatever instance ID it is currently running.\nIf an instance ID other than 0 is passed in, the API will restart the code package only if the current Instance ID matches the passed in instance ID.\nNote, passing in the exact instance ID (not 0) in the API is safer, because if ensures at most one restart of the code package."
+ }
+ }
+ },
+ "DeployedServiceTypeInfo": {
+ "description": "Information about service type deployed on a node, information such as the status of the service type registration on a node.",
+ "properties": {
+ "ServiceTypeName": {
+ "$ref": "#/definitions/ServiceTypeName",
+ "description": "Name of the service type as specified in the service manifest."
+ },
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of the service manifest in which this service type is defined."
+ },
+ "CodePackageName": {
+ "$ref": "#/definitions/CodePackageName",
+ "description": "The name of the code package that registered the service type."
+ },
+ "Status": {
+ "$ref": "#/definitions/ServiceTypeRegistrationStatus",
+ "description": "The status of the service type registration on the node."
+ },
+ "ServicePackageActivationId": {
+ "$ref": "#/definitions/ServicePackageActivationId",
+ "description": "The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service\nis 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId\nis always an empty string."
+ }
+ }
+ },
+ "DeployedServiceTypeInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeployedServiceTypeInfo"
+ },
+ "description": "List of information about service type deployed on a node."
+ },
+ "ServiceTypeRegistrationStatus": {
+ "type": "string",
+ "description": "The status of the service type registration on the node.",
+ "enum": [
+ "Invalid",
+ "Disabled",
+ "Enabled",
+ "Registered"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceTypeRegistrationStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the registration status is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Disabled",
+ "description": "Indicates that the service type is disabled on this node. A type gets disabled when there are too many failures of the code package hosting the service type. If the service type is disabled, new replicas of that service type will not be placed on the node until it is enabled again. The service type is enabled again after the process hosting it comes up and re-registers the type or a preconfigured time interval has passed. The value is 1."
+ },
+ {
+ "value": "Enabled",
+ "description": "Indicates that the service type is enabled on this node. Replicas of this service type can be placed on this node when the code package registers the service type. The value is 2."
+ },
+ {
+ "value": "Registered",
+ "description": "Indicates that the service type is enabled and registered on the node by a code package. Replicas of this service type can now be placed on this node. The value is 3."
+ }
+ ]
+ }
+ },
+ "ServiceEndpointRole": {
+ "type": "string",
+ "description": "The role of the replica where the endpoint is reported.",
+ "enum": [
+ "Invalid",
+ "Stateless",
+ "StatefulPrimary",
+ "StatefulSecondary"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceEndpointRole",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the service endpoint role is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Stateless",
+ "description": "Indicates that the service endpoint is of a stateless service. The value is 1."
+ },
+ {
+ "value": "StatefulPrimary",
+ "description": "Indicates that the service endpoint is of a primary replica of a stateful service. The value is 2."
+ },
+ {
+ "value": "StatefulSecondary",
+ "description": "Indicates that the service endpoint is of a secondary replica of a stateful service. The value is 3."
+ }
+ ]
+ }
+ },
+ "ResolvedServiceEndpoint": {
+ "description": "Endpoint of a resolved service partition.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ServiceEndpointRole",
+ "description": "The role of the replica where the endpoint is reported."
+ },
+ "Address": {
+ "type": "string",
+ "description": "The address of the endpoint. If the endpoint has multiple listeners the address is a JSON object with one property per listener with the value as the address of that listener."
+ }
+ }
+ },
+ "ResolvedServicePartition": {
+ "description": "Information about a service partition and its associated endpoints.",
+ "required": [
+ "Name",
+ "PartitionInformation",
+ "Endpoints",
+ "Version"
+ ],
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "PartitionInformation": {
+ "$ref": "#/definitions/PartitionInformation",
+ "description": "A representation of the resolved partition."
+ },
+ "Endpoints": {
+ "$ref": "#/definitions/ResolvedServiceEndpointList",
+ "description": "List of resolved service endpoints of a service partition."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of this resolved service partition result. This version should be passed in the next time the ResolveService call is made via the PreviousRspVersion query parameter."
+ }
+ }
+ },
+ "ResolvedServiceEndpointList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResolvedServiceEndpoint"
+ },
+ "description": "List of resolved service endpoints of a service partition."
+ },
+ "InvokeDataLossResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "SelectedPartition": {
+ "$ref": "#/definitions/SelectedPartition",
+ "description": "This class returns information about the partition that the user-induced operation acted upon."
+ }
+ }
+ },
+ "InvokeQuorumLossResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "SelectedPartition": {
+ "$ref": "#/definitions/SelectedPartition",
+ "description": "This class returns information about the partition that the user-induced operation acted upon."
+ }
+ }
+ },
+ "NodeResult": {
+ "description": "Contains information about a node that was targeted by a user-induced operation.",
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "NodeInstanceId": {
+ "type": "string",
+ "description": "The node instance id."
+ }
+ }
+ },
+ "NodeTransitionProgress": {
+ "description": "Information about an NodeTransition operation. This class contains an OperationState and a NodeTransitionResult. The NodeTransitionResult is not valid until OperationState\nis Completed or Faulted.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "NodeTransitionResult": {
+ "$ref": "#/definitions/NodeTransitionResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "NodeTransitionResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "NodeResult": {
+ "$ref": "#/definitions/NodeResult",
+ "description": "Contains information about a node that was targeted by a user-induced operation."
+ }
+ }
+ },
+ "OperationId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API."
+ },
+ "OperationState": {
+ "type": "string",
+ "description": "The state of the operation.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "RollingBack",
+ "Completed",
+ "Faulted",
+ "Cancelled",
+ "ForceCancelled"
+ ],
+ "x-ms-enum": {
+ "name": "OperationState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The operation state is invalid."
+ },
+ {
+ "value": "Running",
+ "description": "The operation is in progress."
+ },
+ {
+ "value": "RollingBack",
+ "description": "The operation is rolling back internal system state because it encountered a fatal error or was cancelled by the user. \"RollingBack\" does not refer to user state. For example, if CancelOperation is called on a command of type PartitionDataLoss, state of \"RollingBack\" does not mean service data is being restored (assuming the command has progressed far enough to cause data loss). It means the system is rolling back/cleaning up internal system state associated with the command."
+ },
+ {
+ "value": "Completed",
+ "description": "The operation has completed successfully and is no longer running."
+ },
+ {
+ "value": "Faulted",
+ "description": "The operation has failed and is no longer running."
+ },
+ {
+ "value": "Cancelled",
+ "description": "The operation was cancelled by the user using CancelOperation, and is no longer running."
+ },
+ {
+ "value": "ForceCancelled",
+ "description": "The operation was cancelled by the user using CancelOperation, with the force parameter set to true. It is no longer running. Refer to CancelOperation for more details."
+ }
+ ]
+ }
+ },
+ "OperationStatus": {
+ "description": "Contains the OperationId, OperationState, and OperationType for user-induced operations.",
+ "properties": {
+ "OperationId": {
+ "$ref": "#/definitions/OperationId",
+ "description": "A GUID that identifies a call to this API. This is also passed into the corresponding GetProgress API."
+ },
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "Type": {
+ "$ref": "#/definitions/OperationType",
+ "description": "The type of the operation."
+ }
+ }
+ },
+ "OperationStatusList": {
+ "type": "array",
+ "description": "A list of OperationStatus objects.",
+ "items": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "OperationType": {
+ "type": "string",
+ "description": "The type of the operation.",
+ "enum": [
+ "Invalid",
+ "PartitionDataLoss",
+ "PartitionQuorumLoss",
+ "PartitionRestart",
+ "NodeTransition"
+ ],
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The operation state is invalid."
+ },
+ {
+ "value": "PartitionDataLoss",
+ "description": "An operation started using the StartDataLoss API."
+ },
+ {
+ "value": "PartitionQuorumLoss",
+ "description": "An operation started using the StartQuorumLoss API."
+ },
+ {
+ "value": "PartitionRestart",
+ "description": "An operation started using the StartPartitionRestart API."
+ },
+ {
+ "value": "NodeTransition",
+ "description": "An operation started using the StartNodeTransition API."
+ }
+ ]
+ }
+ },
+ "PartitionDataLossProgress": {
+ "description": "Information about a partition data loss user-induced operation.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "InvokeDataLossResult": {
+ "$ref": "#/definitions/InvokeDataLossResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "PartitionQuorumLossProgress": {
+ "description": "Information about a partition quorum loss user-induced operation.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "InvokeQuorumLossResult": {
+ "$ref": "#/definitions/InvokeQuorumLossResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "PartitionRestartProgress": {
+ "description": "Information about a partition restart user-induced operation.",
+ "properties": {
+ "State": {
+ "$ref": "#/definitions/OperationState",
+ "description": "The state of the operation."
+ },
+ "RestartPartitionResult": {
+ "$ref": "#/definitions/RestartPartitionResult",
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted)."
+ }
+ }
+ },
+ "RestartPartitionResult": {
+ "description": "Represents information about an operation in a terminal state (Completed or Faulted).",
+ "properties": {
+ "ErrorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If OperationState is Completed, this is 0. If OperationState is Faulted, this is an error code indicating the reason."
+ },
+ "SelectedPartition": {
+ "$ref": "#/definitions/SelectedPartition",
+ "description": "This class returns information about the partition that the user-induced operation acted upon."
+ }
+ }
+ },
+ "SelectedPartition": {
+ "description": "This class returns information about the partition that the user-induced operation acted upon.",
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service the partition belongs to."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ }
+ },
+ "DeployServicePackageToNodeDescription": {
+ "description": "Defines description for downloading packages associated with a service manifest to image cache on a Service Fabric node.",
+ "properties": {
+ "ServiceManifestName": {
+ "$ref": "#/definitions/ServiceManifestName",
+ "description": "The name of service manifest whose packages need to be downloaded."
+ },
+ "ApplicationTypeName": {
+ "$ref": "#/definitions/ApplicationTypeName",
+ "description": "The application type name as defined in the application manifest."
+ },
+ "ApplicationTypeVersion": {
+ "$ref": "#/definitions/ApplicationTypeVersion",
+ "description": "The version of the application type as defined in the application manifest."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "PackageSharingPolicy": {
+ "$ref": "#/definitions/PackageSharingPolicyInfoList",
+ "description": "List of package sharing policy information."
+ }
+ },
+ "required": [
+ "ServiceManifestName",
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "NodeName"
+ ]
+ },
+ "PackageSharingPolicyInfo": {
+ "description": "Represents a policy for the package sharing.",
+ "properties": {
+ "SharedPackageName": {
+ "type": "string",
+ "description": "The name of code, configuration or data package that should be shared."
+ },
+ "PackageSharingScope": {
+ "$ref": "#/definitions/PackageSharingPolicyScope",
+ "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation."
+ }
+ }
+ },
+ "PackageSharingPolicyInfoList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PackageSharingPolicyInfo"
+ },
+ "description": "List of package sharing policy information."
+ },
+ "PackageSharingPolicyScope": {
+ "type": "string",
+ "description": "Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation.",
+ "enum": [
+ "None",
+ "All",
+ "Code",
+ "Config",
+ "Data"
+ ],
+ "x-ms-enum": {
+ "name": "PackageSharingPolicyScope",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No package sharing policy scope. The value is 0."
+ },
+ {
+ "value": "All",
+ "description": "Share all code, config and data packages from corresponding service manifest. The value is 1."
+ },
+ {
+ "value": "Code",
+ "description": "Share all code packages from corresponding service manifest. The value is 2."
+ },
+ {
+ "value": "Config",
+ "description": "Share all config packages from corresponding service manifest. The value is 3."
+ },
+ {
+ "value": "Data",
+ "description": "Share all data packages from corresponding service manifest. The value is 4."
+ }
+ ]
+ }
+ },
+ "ResumeApplicationUpgradeDescription": {
+ "description": "Describes the parameters for resuming an unmonitored manual Service Fabric application upgrade",
+ "properties": {
+ "UpgradeDomainName": {
+ "type": "string",
+ "description": "The name of the upgrade domain in which to resume the upgrade."
+ }
+ },
+ "required": [
+ "UpgradeDomainName"
+ ]
+ },
+ "ApplicationUpgradeUpdateDescription": {
+ "description": "Describes the parameters for updating an ongoing application upgrade.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ },
+ "UpgradeKind": {
+ "$ref": "#/definitions/UpgradeKind",
+ "description": "The kind of upgrade out of the following possible values."
+ },
+ "ApplicationHealthPolicy": {
+ "$ref": "#/definitions/ApplicationHealthPolicy",
+ "description": "Defines a health policy used to evaluate the health of an application or one of its children entities."
+ },
+ "UpdateDescription": {
+ "$ref": "#/definitions/RollingUpgradeUpdateDescription",
+ "description": "Describes the parameters for updating a rolling upgrade of application or cluster."
+ }
+ },
+ "required": [
+ "Name",
+ "UpgradeKind"
+ ]
+ },
+ "RollingUpgradeUpdateDescription": {
+ "description": "Describes the parameters for updating a rolling upgrade of application or cluster.",
+ "properties": {
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/UpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "ForceRestart": {
+ "$ref": "#/definitions/ForceRestart",
+ "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)."
+ },
+ "ReplicaSetCheckTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeReplicaSetCheckTimeout",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)."
+ },
+ "FailureAction": {
+ "$ref": "#/definitions/FailureAction",
+ "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.\nInvalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.\nManual indicates that the upgrade will switch to UnmonitoredManual upgrade mode."
+ },
+ "HealthCheckWaitDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckWaitDuration",
+ "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckStableDurationInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckStableDuration",
+ "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "HealthCheckRetryTimeoutInMilliseconds": {
+ "$ref": "#/definitions/HealthCheckRetryTimeout",
+ "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeTimeout",
+ "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "UpgradeDomainTimeoutInMilliseconds": {
+ "$ref": "#/definitions/UpgradeDomainTimeout",
+ "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds."
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "$ref": "#/definitions/InstanceCloseDelayDurationInSeconds",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description."
+ }
+ },
+ "required": [
+ "RollingUpgradeMode"
+ ]
+ },
+ "NameDescription": {
+ "description": "Describes a Service Fabric name.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/FabricName",
+ "description": "The Service Fabric name, including the 'fabric:' URI scheme."
+ }
+ },
+ "required": [
+ "Name"
+ ]
+ },
+ "FabricName": {
+ "type": "string",
+ "description": "The Service Fabric name, including the 'fabric:' URI scheme."
+ },
+ "PagedSubNameInfoList": {
+ "description": "A paged list of Service Fabric names. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "IsConsistent": {
+ "type": "boolean",
+ "description": "Indicates whether any name under the given name has been modified during the enumeration. If there was a modification, this property value is false."
+ },
+ "SubNames": {
+ "type": "array",
+ "description": "List of the child names.",
+ "items": {
+ "$ref": "#/definitions/FabricName"
+ }
+ }
+ }
+ },
+ "PropertyValueKind": {
+ "type": "string",
+ "description": "The kind of property, determined by the type of data. Following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Binary",
+ "Int64",
+ "Double",
+ "String",
+ "Guid"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyValueKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the property is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Binary",
+ "description": "The data inside the property is a binary blob. The value is 1."
+ },
+ {
+ "value": "Int64",
+ "description": "The data inside the property is an int64. The value is 2."
+ },
+ {
+ "value": "Double",
+ "description": "The data inside the property is a double. The value is 3."
+ },
+ {
+ "value": "String",
+ "description": "The data inside the property is a string. The value is 4."
+ },
+ {
+ "value": "Guid",
+ "description": "The data inside the property is a guid. The value is 5."
+ }
+ ]
+ }
+ },
+ "PropertyValue": {
+ "discriminator": "Kind",
+ "description": "Describes a Service Fabric property value.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/PropertyValueKind",
+ "description": "The kind of property, determined by the type of data. Following are the possible values."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "BinaryPropertyValue": {
+ "description": "Describes a Service Fabric property value of type Binary.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Binary",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "$ref": "#/definitions/ByteArray",
+ "description": "Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255."
+ }
+ }
+ },
+ "Int64PropertyValue": {
+ "description": "Describes a Service Fabric property value of type Int64.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Int64",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "string",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "DoublePropertyValue": {
+ "description": "Describes a Service Fabric property value of type Double.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Double",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "number",
+ "format": "double",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "StringPropertyValue": {
+ "description": "Describes a Service Fabric property value of type String.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "String",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "string",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "GuidPropertyValue": {
+ "description": "Describes a Service Fabric property value of type Guid.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyValue"
+ }
+ ],
+ "x-ms-discriminator-value": "Guid",
+ "required": [
+ "Data"
+ ],
+ "properties": {
+ "Data": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The data of the property value."
+ }
+ }
+ },
+ "PropertyInfo": {
+ "description": "Information about a Service Fabric property.",
+ "properties": {
+ "Name": {
+ "$ref": "#/definitions/PropertyName",
+ "description": "The name of the Service Fabric property."
+ },
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "Describes a Service Fabric property value."
+ },
+ "Metadata": {
+ "$ref": "#/definitions/PropertyMetadata",
+ "description": "The metadata associated with a property, including the property's name."
+ }
+ },
+ "required": [
+ "Name",
+ "Metadata"
+ ]
+ },
+ "PagedPropertyInfoList": {
+ "description": "The paged list of Service Fabric properties under a given name. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "IsConsistent": {
+ "type": "boolean",
+ "description": "Indicates whether any property under the given name has been modified during the enumeration. If there was a modification, this property value is false."
+ },
+ "Properties": {
+ "type": "array",
+ "description": "List of property information.",
+ "items": {
+ "$ref": "#/definitions/PropertyInfo"
+ }
+ }
+ }
+ },
+ "PropertyDescription": {
+ "description": "Description of a Service Fabric property.",
+ "properties": {
+ "PropertyName": {
+ "$ref": "#/definitions/PropertyName",
+ "description": "The name of the Service Fabric property."
+ },
+ "CustomTypeId": {
+ "$ref": "#/definitions/PropertyCustomTypeId",
+ "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property."
+ },
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "Describes a Service Fabric property value."
+ }
+ },
+ "required": [
+ "PropertyName",
+ "Value"
+ ]
+ },
+ "PropertyName": {
+ "type": "string",
+ "description": "The name of the Service Fabric property."
+ },
+ "PropertyMetadata": {
+ "description": "The metadata associated with a property, including the property's name.",
+ "properties": {
+ "TypeId": {
+ "$ref": "#/definitions/PropertyValueKind",
+ "description": "The kind of property, determined by the type of data. Following are the possible values."
+ },
+ "CustomTypeId": {
+ "$ref": "#/definitions/PropertyCustomTypeId",
+ "description": "The property's custom type ID."
+ },
+ "Parent": {
+ "$ref": "#/definitions/FabricName",
+ "description": "The name of the parent Service Fabric Name for the property. It could be thought of as the name-space/table under which the property exists."
+ },
+ "SizeInBytes": {
+ "type": "integer",
+ "description": "The length of the serialized property value."
+ },
+ "LastModifiedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Represents when the Property was last modified. Only write operations will cause this field to be updated."
+ },
+ "SequenceNumber": {
+ "type": "string",
+ "description": "The version of the property. Every time a property is modified, its sequence number is increased."
+ }
+ }
+ },
+ "PropertyCustomTypeId": {
+ "type": "string",
+ "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property."
+ },
+ "PropertyBatchDescriptionList": {
+ "description": "Describes a list of property batch operations to be executed. Either all or none of the operations will be committed.",
+ "properties": {
+ "Operations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ },
+ "description": "A list of the property batch operations to be executed."
+ }
+ }
+ },
+ "PropertyBatchOperationKind": {
+ "type": "string",
+ "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Put",
+ "Get",
+ "CheckExists",
+ "CheckSequence",
+ "Delete",
+ "CheckValue"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyBatchOperationKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the property operation is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Put",
+ "description": "The operation will create or edit a property. The value is 1."
+ },
+ {
+ "value": "Get",
+ "description": "The operation will get a property. The value is 2."
+ },
+ {
+ "value": "CheckExists",
+ "description": "The operation will check that a property exists or doesn't exists, depending on the provided value. The value is 3."
+ },
+ {
+ "value": "CheckSequence",
+ "description": "The operation will ensure that the sequence number is equal to the provided value. The value is 4."
+ },
+ {
+ "value": "Delete",
+ "description": "The operation will delete a property. The value is 5."
+ },
+ {
+ "value": "CheckValue",
+ "description": "The operation will ensure that the value of a property is equal to the provided value. The value is 7."
+ }
+ ]
+ }
+ },
+ "PropertyBatchOperation": {
+ "discriminator": "Kind",
+ "description": "Represents the base type for property operations that can be put into a batch and submitted.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/PropertyBatchOperationKind",
+ "description": "The kind of property batch operation, determined by the operation to be performed. The following are the possible values."
+ },
+ "PropertyName": {
+ "$ref": "#/definitions/PropertyName",
+ "description": "The name of the Service Fabric property."
+ }
+ },
+ "required": [
+ "Kind",
+ "PropertyName"
+ ]
+ },
+ "CheckExistsPropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that compares the Boolean existence of a property with the Exists argument.\nThe PropertyBatchOperation operation fails if the property's existence is not equal to the Exists argument.\nThe CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "CheckExists",
+ "properties": {
+ "Exists": {
+ "type": "boolean",
+ "description": "Whether or not the property should exist for the operation to pass."
+ }
+ },
+ "required": [
+ "Exists"
+ ]
+ },
+ "CheckSequencePropertyBatchOperation": {
+ "description": "Compares the Sequence Number of a property with the SequenceNumber argument.\nA property's sequence number can be thought of as that property's version.\nEvery time the property is modified, its sequence number is increased.\nThe sequence number can be found in a property's metadata.\nThe comparison fails if the sequence numbers are not equal.\nCheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "CheckSequence",
+ "properties": {
+ "SequenceNumber": {
+ "type": "string",
+ "description": "The expected sequence number."
+ }
+ },
+ "required": [
+ "SequenceNumber"
+ ]
+ },
+ "CheckValuePropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that compares the value of the property with the expected value.\nThe CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the batch.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "CheckValue",
+ "properties": {
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "The expected property value."
+ }
+ },
+ "required": [
+ "Value"
+ ]
+ },
+ "DeletePropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that deletes a specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "Delete"
+ },
+ "GetPropertyBatchOperation": {
+ "description": "Represents a PropertyBatchOperation that gets the specified property if it exists.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "Get",
+ "properties": {
+ "IncludeValue": {
+ "type": "boolean",
+ "default": false,
+ "description": "Whether or not to return the property value with the metadata.\nTrue if values should be returned with the metadata; False to return only property metadata."
+ }
+ }
+ },
+ "PutPropertyBatchOperation": {
+ "description": "Puts the specified property under the specified name.\nNote that if one PropertyBatchOperation in a PropertyBatch fails,\nthe entire batch fails and cannot be committed in a transactional manner.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchOperation"
+ }
+ ],
+ "x-ms-discriminator-value": "Put",
+ "properties": {
+ "Value": {
+ "$ref": "#/definitions/PropertyValue",
+ "description": "Describes a Service Fabric property value."
+ },
+ "CustomTypeId": {
+ "$ref": "#/definitions/PropertyCustomTypeId",
+ "description": "The property's custom type ID. Using this property, the user is able to tag the type of the value of the property."
+ }
+ },
+ "required": [
+ "Value"
+ ]
+ },
+ "PropertyBatchInfoKind": {
+ "type": "string",
+ "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values.",
+ "enum": [
+ "Invalid",
+ "Successful",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyBatchInfoKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the property batch info is invalid. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Successful",
+ "description": "The property batch succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "The property batch failed."
+ }
+ ]
+ }
+ },
+ "PropertyBatchInfo": {
+ "discriminator": "Kind",
+ "description": "Information about the results of a property batch.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/PropertyBatchInfoKind",
+ "description": "The kind of property batch info, determined by the results of a property batch. The following are the possible values."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "SuccessfulPropertyBatchInfo": {
+ "description": "Derived from PropertyBatchInfo. Represents the property batch succeeding. Contains the results of any \"Get\" operations in the batch.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Successful",
+ "properties": {
+ "Properties": {
+ "additionalProperties": {
+ "$ref": "#/definitions/PropertyInfo"
+ },
+ "description": "A map containing the properties that were requested through any \"Get\" property batch operations. The key represents the index of the \"Get\" operation in the original request, in string form. The value is the property. If a property is not found, it will not be in the map."
+ }
+ }
+ },
+ "FailedPropertyBatchInfo": {
+ "description": "Derived from PropertyBatchInfo. Represents the property batch failing. Contains information about the specific batch failure.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PropertyBatchInfo"
+ }
+ ],
+ "x-ms-discriminator-value": "Failed",
+ "properties": {
+ "ErrorMessage": {
+ "type": "string",
+ "description": "The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch."
+ },
+ "OperationIndex": {
+ "type": "integer",
+ "description": "The index of the unsuccessful operation in the property batch."
+ }
+ }
+ },
+ "EntityKind": {
+ "type": "string",
+ "description": "The entity type of a Service Fabric entity such as Cluster, Node, Application, Service, Partition, Replica etc.",
+ "enum": [
+ "Invalid",
+ "Node",
+ "Partition",
+ "Service",
+ "Application",
+ "Replica",
+ "DeployedApplication",
+ "DeployedServicePackage",
+ "Cluster"
+ ],
+ "x-ms-enum": {
+ "name": "EntityKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "Node",
+ "description": "Indicates the entity is a Service Fabric node. The value is 1."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the entity is a Service Fabric partition. The value is 2."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the entity is a Service Fabric service. The value is 3."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the entity is a Service Fabric application. The value is 4."
+ },
+ {
+ "value": "Replica",
+ "description": "Indicates the entity is a Service Fabric replica. The value is 5."
+ },
+ {
+ "value": "DeployedApplication",
+ "description": "Indicates the entity is a Service Fabric deployed application. The value is 6."
+ },
+ {
+ "value": "DeployedServicePackage",
+ "description": "Indicates the entity is a Service Fabric deployed service package. The value is 7."
+ },
+ {
+ "value": "Cluster",
+ "description": "Indicates the entity is a Service Fabric cluster. The value is 8."
+ }
+ ]
+ }
+ },
+ "HealthStateCount": {
+ "description": "Represents information about how many health entities are in Ok, Warning and Error health state.",
+ "properties": {
+ "OkCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of health entities with aggregated health state Ok.",
+ "minimum": 0
+ },
+ "WarningCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of health entities with aggregated health state Warning.",
+ "minimum": 0
+ },
+ "ErrorCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of health entities with aggregated health state Error.",
+ "minimum": 0
+ }
+ }
+ },
+ "EntityKindHealthStateCount": {
+ "description": "Represents health state count for entities of the specified entity kind.",
+ "properties": {
+ "EntityKind": {
+ "$ref": "#/definitions/EntityKind",
+ "description": "The entity kind for which health states are evaluated."
+ },
+ "HealthStateCount": {
+ "$ref": "#/definitions/HealthStateCount",
+ "description": "The health state count for the entities of the specified kind."
+ }
+ }
+ },
+ "HealthStatistics": {
+ "description": "The health statistics of an entity, returned as part of the health query result when the query description is configured to include statistics.\nThe statistics include health state counts for all children types of the current entity.\nFor example, for cluster, the health statistics include health state counts for nodes, applications, services, partitions, replicas, deployed applications and deployed service packages.\nFor partition, the health statistics include health counts for replicas.",
+ "properties": {
+ "HealthStateCountList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityKindHealthStateCount"
+ },
+ "description": "List of health state counts per entity kind, which keeps track of how many children of the queried entity are in Ok, Warning and Error state."
+ }
+ }
+ },
+ "BackupPolicyDescription": {
+ "description": "Describes a backup policy for configuring periodic backup.",
+ "required": [
+ "Name",
+ "AutoRestoreOnDataLoss",
+ "Schedule",
+ "MaxIncrementalBackups",
+ "Storage"
+ ],
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The unique name identifying this backup policy."
+ },
+ "AutoRestoreOnDataLoss": {
+ "type": "boolean",
+ "description": "Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event."
+ },
+ "MaxIncrementalBackups": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 255,
+ "description": "Defines the maximum number of incremental backups to be taken between two full backups. This is just the upper limit. A full backup may be taken before specified number of incremental backups are completed in one of the following conditions\n- The replica has never taken a full backup since it has become primary,\n- Some of the log records since the last backup has been truncated, or\n- Replica passed the MaxAccumulatedBackupLogSizeInMB limit."
+ },
+ "Schedule": {
+ "$ref": "#/definitions/BackupScheduleDescription",
+ "description": "Describes the backup schedule parameters."
+ },
+ "Storage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Describes the details of backup storage where to store the periodic backups."
+ },
+ "RetentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicyDescription",
+ "description": "Describes the policy to retain backups in storage."
+ }
+ }
+ },
+ "PagedBackupPolicyDescriptionList": {
+ "description": "The list of backup policies configured in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "The list of backup policies information.",
+ "items": {
+ "$ref": "#/definitions/BackupPolicyDescription"
+ }
+ }
+ }
+ },
+ "BasicRetentionPolicyDescription": {
+ "description": "Describes basic retention policy.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetentionPolicyDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "Basic",
+ "required": [
+ "RetentionDuration"
+ ],
+ "properties": {
+ "RetentionDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "It is the minimum duration for which a backup created, will remain stored in the storage and might get deleted after that span of time. It should be specified in ISO8601 format."
+ },
+ "MinimumNumberOfBackups": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "It is the minimum number of backups to be retained at any point of time. If specified with a non zero value, backups will not be deleted even if the backups have gone past retention duration and have number of backups less than or equal to it."
+ }
+ }
+ },
+ "RetentionPolicyType": {
+ "type": "string",
+ "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported.",
+ "enum": [
+ "Basic",
+ "Invalid"
+ ],
+ "x-ms-enum": {
+ "name": "RetentionPolicyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Indicates a basic retention policy type."
+ },
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid retention policy type."
+ }
+ ]
+ }
+ },
+ "DisableBackupDescription": {
+ "description": "It describes the body parameters while disabling backup of a backup entity(Application/Service/Partition).",
+ "required": [
+ "CleanBackup"
+ ],
+ "properties": {
+ "CleanBackup": {
+ "type": "boolean",
+ "description": "Boolean flag to delete backups. It can be set to true for deleting all the backups which were created for the backup entity that is getting disabled for backup."
+ }
+ }
+ },
+ "RetentionPolicyDescription": {
+ "description": "Describes the retention policy configured.",
+ "required": [
+ "RetentionPolicyType"
+ ],
+ "discriminator": "RetentionPolicyType",
+ "properties": {
+ "RetentionPolicyType": {
+ "$ref": "#/definitions/RetentionPolicyType",
+ "description": "The type of retention policy. Currently only \"Basic\" retention policy is supported."
+ }
+ }
+ },
+ "BackupStorageDescription": {
+ "required": [
+ "StorageKind"
+ ],
+ "discriminator": "StorageKind",
+ "properties": {
+ "StorageKind": {
+ "$ref": "#/definitions/BackupStorageKind",
+ "description": "The kind of backup storage, where backups are saved."
+ },
+ "FriendlyName": {
+ "type": "string",
+ "description": "Friendly name for this backup storage."
+ }
+ },
+ "description": "Describes the parameters for the backup storage."
+ },
+ "BackupStorageKind": {
+ "type": "string",
+ "description": "The kind of backup storage, where backups are saved.",
+ "enum": [
+ "Invalid",
+ "FileShare",
+ "AzureBlobStore"
+ ],
+ "x-ms-enum": {
+ "name": "BackupStorageKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup storage kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "FileShare",
+ "description": "Indicates file/ SMB share to be used as backup storage."
+ },
+ {
+ "value": "AzureBlobStore",
+ "description": "Indicates Azure blob store to be used as backup storage."
+ }
+ ]
+ }
+ },
+ "BackupScheduleDescription": {
+ "description": "Describes the backup schedule parameters.",
+ "required": [
+ "ScheduleKind"
+ ],
+ "discriminator": "ScheduleKind",
+ "properties": {
+ "ScheduleKind": {
+ "$ref": "#/definitions/BackupScheduleKind",
+ "description": "The kind of backup schedule, time based or frequency based."
+ }
+ }
+ },
+ "BackupScheduleKind": {
+ "type": "string",
+ "description": "The kind of backup schedule, time based or frequency based.",
+ "enum": [
+ "Invalid",
+ "TimeBased",
+ "FrequencyBased"
+ ],
+ "x-ms-enum": {
+ "name": "BackupScheduleKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup schedule kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "TimeBased",
+ "description": "Indicates a time-based backup schedule."
+ },
+ {
+ "value": "FrequencyBased",
+ "description": "Indicates a frequency-based backup schedule."
+ }
+ ]
+ }
+ },
+ "ApplicationBackupConfigurationInfo": {
+ "description": "Backup configuration information for a specific Service Fabric application specifying what backup policy is being applied and suspend description, if any.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Application"
+ },
+ "ServiceBackupConfigurationInfo": {
+ "description": "Backup configuration information for a specific Service Fabric service specifying what backup policy is being applied and suspend description, if any.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Service"
+ },
+ "PagedBackupConfigurationInfoList": {
+ "description": "The list of backup configuration information. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of backup configuration information.",
+ "items": {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ }
+ }
+ },
+ "BackupPolicyScope": {
+ "type": "string",
+ "description": "Specifies the scope at which the backup policy is applied.",
+ "enum": [
+ "Invalid",
+ "Partition",
+ "Service",
+ "Application"
+ ],
+ "x-ms-enum": {
+ "name": "BackupPolicyScope",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup policy scope type. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the backup policy is applied at partition level. Hence overriding any policy which may have applied at partition's service or application level."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the backup policy is applied at service level. All partitions of the service inherit this policy unless explicitly overridden at partition level."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the backup policy is applied at application level. All services and partitions of the application inherit this policy unless explicitly overridden at service or partition level."
+ }
+ ]
+ }
+ },
+ "BackupSuspensionScope": {
+ "type": "string",
+ "description": "Specifies the scope at which the backup suspension was applied.",
+ "enum": [
+ "Invalid",
+ "Partition",
+ "Service",
+ "Application"
+ ],
+ "x-ms-enum": {
+ "name": "BackupSuspensionScope",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup suspension scope type also indicating entity is not suspended. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the backup suspension is applied at partition level."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the backup suspension is applied at service level. All partitions of the service are hence suspended for backup."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the backup suspension is applied at application level. All services and partitions of the application are hence suspended for backup."
+ }
+ ]
+ }
+ },
+ "RestorePartitionDescription": {
+ "description": "Specifies the parameters needed to trigger a restore of a specific partition.",
+ "required": [
+ "BackupId",
+ "BackupLocation"
+ ],
+ "properties": {
+ "BackupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique backup ID."
+ },
+ "BackupLocation": {
+ "type": "string",
+ "description": "Location of the backup relative to the backup storage specified/ configured."
+ },
+ "BackupStorage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Location of the backup from where the partition will be restored."
+ }
+ }
+ },
+ "RestoreProgressInfo": {
+ "description": "Describes the progress of a restore operation on a partition.",
+ "properties": {
+ "RestoreState": {
+ "$ref": "#/definitions/RestoreState",
+ "description": "Represents the current state of the partition restore operation."
+ },
+ "TimeStampUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp when operation succeeded or failed."
+ },
+ "RestoredEpoch": {
+ "$ref": "#/definitions/Epoch",
+ "description": "Describes the epoch at which the partition is restored."
+ },
+ "RestoredLsn": {
+ "type": "string",
+ "description": "Restored LSN."
+ },
+ "FailureError": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Denotes the failure encountered in performing restore operation."
+ }
+ }
+ },
+ "RestoreState": {
+ "type": "string",
+ "description": "Represents the current state of the partition restore operation.",
+ "enum": [
+ "Invalid",
+ "Accepted",
+ "RestoreInProgress",
+ "Success",
+ "Failure",
+ "Timeout"
+ ],
+ "x-ms-enum": {
+ "name": "RestoreState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid restore state. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Accepted",
+ "description": "Operation has been validated and accepted. Restore is yet to be triggered."
+ },
+ {
+ "value": "RestoreInProgress",
+ "description": "Restore operation has been triggered and is under process."
+ },
+ {
+ "value": "Success",
+ "description": "Operation completed with success."
+ },
+ {
+ "value": "Failure",
+ "description": "Operation completed with failure."
+ },
+ {
+ "value": "Timeout",
+ "description": "Operation timed out."
+ }
+ ]
+ }
+ },
+ "BackupPartitionDescription": {
+ "description": "Describes the parameters for triggering partition's backup.",
+ "properties": {
+ "BackupStorage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Specifies the details of the backup storage where to save the backup."
+ }
+ }
+ },
+ "BackupInfo": {
+ "description": "Represents a backup point which can be used to trigger a restore.",
+ "properties": {
+ "BackupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique backup ID ."
+ },
+ "BackupChainId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique backup chain ID. All backups part of the same chain has the same backup chain id. A backup chain is comprised of 1 full backup and multiple incremental backups."
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "Name of the Service Fabric application this partition backup belongs to."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of the Service Fabric service this partition backup belongs to."
+ },
+ "PartitionInformation": {
+ "$ref": "#/definitions/PartitionInformation",
+ "description": "Information about the partition to which this backup belongs to"
+ },
+ "BackupLocation": {
+ "type": "string",
+ "description": "Location of the backup, relative to the backup store."
+ },
+ "BackupType": {
+ "$ref": "#/definitions/BackupType",
+ "description": "Describes the type of backup, whether its full or incremental."
+ },
+ "EpochOfLastBackupRecord": {
+ "$ref": "#/definitions/Epoch",
+ "description": "Epoch of the last record in this backup."
+ },
+ "LsnOfLastBackupRecord": {
+ "type": "string",
+ "description": "LSN of the last record in this backup."
+ },
+ "CreationTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date time when this backup was taken."
+ },
+ "ServiceManifestVersion": {
+ "type": "string",
+ "description": "Manifest Version of the service this partition backup belongs to."
+ },
+ "FailureError": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Denotes the failure encountered in getting backup point information."
+ }
+ }
+ },
+ "PagedBackupInfoList": {
+ "description": "The list of backups. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of backup information.",
+ "items": {
+ "$ref": "#/definitions/BackupInfo"
+ }
+ }
+ }
+ },
+ "BackupType": {
+ "type": "string",
+ "description": "Describes the type of backup, whether its full or incremental.",
+ "enum": [
+ "Invalid",
+ "Full",
+ "Incremental"
+ ],
+ "x-ms-enum": {
+ "name": "BackupType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup type. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Full",
+ "description": "Indicates a full backup."
+ },
+ {
+ "value": "Incremental",
+ "description": "Indicates an incremental backup. A backup chain is comprised of a full backup followed by 0 or more incremental backups."
+ }
+ ]
+ }
+ },
+ "AzureBlobBackupStorageDescription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupStorageDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureBlobStore",
+ "required": [
+ "ConnectionString",
+ "ContainerName"
+ ],
+ "properties": {
+ "ConnectionString": {
+ "type": "string",
+ "description": "The connection string to connect to the Azure blob store."
+ },
+ "ContainerName": {
+ "type": "string",
+ "description": "The name of the container in the blob store to store and enumerate backups from."
+ }
+ },
+ "description": "Describes the parameters for Azure blob store used for storing and enumerating backups."
+ },
+ "FileShareBackupStorageDescription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupStorageDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "FileShare",
+ "required": [
+ "Path"
+ ],
+ "description": "Describes the parameters for file share storage used for storing or enumerating backups.",
+ "properties": {
+ "Path": {
+ "type": "string",
+ "description": "UNC path of the file share where to store or enumerate backups from."
+ },
+ "PrimaryUserName": {
+ "type": "string",
+ "description": "Primary user name to access the file share."
+ },
+ "PrimaryPassword": {
+ "type": "string",
+ "description": "Primary password to access the share location."
+ },
+ "SecondaryUserName": {
+ "type": "string",
+ "description": "Secondary user name to access the file share."
+ },
+ "SecondaryPassword": {
+ "type": "string",
+ "description": "Secondary password to access the share location"
+ }
+ }
+ },
+ "FrequencyBasedBackupScheduleDescription": {
+ "description": "Describes the frequency based backup schedule.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupScheduleDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "FrequencyBased",
+ "required": [
+ "Interval"
+ ],
+ "properties": {
+ "Interval": {
+ "type": "string",
+ "format": "duration",
+ "description": "Defines the interval with which backups are periodically taken. It should be specified in ISO8601 format. Timespan in seconds is not supported and will be ignored while creating the policy."
+ }
+ }
+ },
+ "TimeBasedBackupScheduleDescription": {
+ "description": "Describes the time based backup schedule.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupScheduleDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "TimeBased",
+ "required": [
+ "ScheduleFrequencyType",
+ "RunTimes"
+ ],
+ "properties": {
+ "ScheduleFrequencyType": {
+ "$ref": "#/definitions/BackupScheduleFrequencyType",
+ "description": "Describes the frequency with which to run the time based backup schedule."
+ },
+ "RunDays": {
+ "$ref": "#/definitions/DayOfWeekList",
+ "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly."
+ },
+ "RunTimes": {
+ "$ref": "#/definitions/TimeList",
+ "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored."
+ }
+ }
+ },
+ "BackupScheduleFrequencyType": {
+ "type": "string",
+ "description": "Describes the frequency with which to run the time based backup schedule.",
+ "enum": [
+ "Invalid",
+ "Daily",
+ "Weekly"
+ ],
+ "x-ms-enum": {
+ "name": "BackupScheduleFrequencyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup schedule frequency type. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Daily",
+ "description": "Indicates that the time based backup schedule is repeated at a daily frequency."
+ },
+ {
+ "value": "Weekly",
+ "description": "Indicates that the time based backup schedule is repeated at a weekly frequency."
+ }
+ ]
+ }
+ },
+ "TimeList": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "description": "Represents the list of exact time during the day in ISO8601 format. Like '19:00:00' will represent '7PM' during the day. Date specified along with time will be ignored."
+ },
+ "DayOfWeekList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DayOfWeek"
+ },
+ "description": "List of days of a week when to trigger the periodic backup. This is valid only when the backup schedule frequency type is weekly."
+ },
+ "DayOfWeek": {
+ "type": "string",
+ "description": "Describes the days in a week.",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Sunday",
+ "description": "Indicates the Day referred is Sunday."
+ },
+ {
+ "value": "Monday",
+ "description": "Indicates the Day referred is Monday."
+ },
+ {
+ "value": "Tuesday",
+ "description": "Indicates the Day referred is Tuesday."
+ },
+ {
+ "value": "Wednesday",
+ "description": "Indicates the Day referred is Wednesday."
+ },
+ {
+ "value": "Thursday",
+ "description": "Indicates the Day referred is Thursday."
+ },
+ {
+ "value": "Friday",
+ "description": "Indicates the Day referred is Friday."
+ },
+ {
+ "value": "Saturday",
+ "description": "Indicates the Day referred is Saturday."
+ }
+ ]
+ }
+ },
+ "BackupProgressInfo": {
+ "description": "Describes the progress of a partition's backup.",
+ "properties": {
+ "BackupState": {
+ "$ref": "#/definitions/BackupState",
+ "description": "Represents the current state of the partition backup operation."
+ },
+ "TimeStampUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "TimeStamp in UTC when operation succeeded or failed."
+ },
+ "BackupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique ID of the newly created backup."
+ },
+ "BackupLocation": {
+ "type": "string",
+ "description": "Location, relative to the backup store, of the newly created backup."
+ },
+ "EpochOfLastBackupRecord": {
+ "$ref": "#/definitions/Epoch",
+ "description": "Specifies the epoch of the last record included in backup."
+ },
+ "LsnOfLastBackupRecord": {
+ "type": "string",
+ "description": "The LSN of last record included in backup."
+ },
+ "FailureError": {
+ "$ref": "#/definitions/FabricErrorError",
+ "description": "Denotes the failure encountered in performing backup operation."
+ }
+ }
+ },
+ "BackupConfigurationInfo": {
+ "discriminator": "Kind",
+ "description": "Describes the backup configuration information.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/BackupEntityKind",
+ "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled."
+ },
+ "PolicyName": {
+ "description": "The name of the backup policy which is applicable to this Service Fabric application or service or partition.",
+ "type": "string"
+ },
+ "PolicyInheritedFrom": {
+ "$ref": "#/definitions/BackupPolicyScope",
+ "description": "Specifies the scope at which the backup policy is applied."
+ },
+ "SuspensionInfo": {
+ "$ref": "#/definitions/BackupSuspensionInfo",
+ "description": "Describes the backup suspension details."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "PartitionBackupConfigurationInfo": {
+ "description": "Backup configuration information, for a specific partition, specifying what backup policy is being applied and suspend description, if any.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupConfigurationInfo"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The partition ID identifying the partition."
+ }
+ },
+ "x-ms-discriminator-value": "Partition"
+ },
+ "BackupState": {
+ "type": "string",
+ "description": "Represents the current state of the partition backup operation.",
+ "enum": [
+ "Invalid",
+ "Accepted",
+ "BackupInProgress",
+ "Success",
+ "Failure",
+ "Timeout"
+ ],
+ "x-ms-enum": {
+ "name": "BackupState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid backup state. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Accepted",
+ "description": "Operation has been validated and accepted. Backup is yet to be triggered."
+ },
+ {
+ "value": "BackupInProgress",
+ "description": "Backup operation has been triggered and is under process."
+ },
+ {
+ "value": "Success",
+ "description": "Operation completed with success."
+ },
+ {
+ "value": "Failure",
+ "description": "Operation completed with failure."
+ },
+ {
+ "value": "Timeout",
+ "description": "Operation timed out."
+ }
+ ]
+ }
+ },
+ "BackupEntity": {
+ "discriminator": "EntityKind",
+ "description": "Describes the Service Fabric entity that is configured for backup.",
+ "properties": {
+ "EntityKind": {
+ "$ref": "#/definitions/BackupEntityKind",
+ "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled."
+ }
+ },
+ "required": [
+ "EntityKind"
+ ]
+ },
+ "ApplicationBackupEntity": {
+ "description": "Identifies the Service Fabric application which is being backed up.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ ],
+ "properties": {
+ "ApplicationName": {
+ "$ref": "#/definitions/ApplicationName",
+ "description": "The name of the application, including the 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Application"
+ },
+ "ServiceBackupEntity": {
+ "description": "Identifies the Service Fabric stateful service which is being backed up.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ }
+ },
+ "x-ms-discriminator-value": "Service"
+ },
+ "PartitionBackupEntity": {
+ "description": "Identifies the Service Fabric stateful partition which is being backed up.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The full name of the service with 'fabric:' URI scheme."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The partition ID identifying the partition."
+ }
+ },
+ "x-ms-discriminator-value": "Partition"
+ },
+ "EnableBackupDescription": {
+ "description": "Specifies the parameters needed to enable periodic backup.",
+ "required": [
+ "BackupPolicyName"
+ ],
+ "properties": {
+ "BackupPolicyName": {
+ "type": "string",
+ "description": "Name of the backup policy to be used for enabling periodic backups."
+ }
+ }
+ },
+ "PagedBackupEntityList": {
+ "description": "The list of backup entities that are being periodically backed. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of backup entity information.",
+ "items": {
+ "$ref": "#/definitions/BackupEntity"
+ }
+ }
+ }
+ },
+ "BackupSuspensionInfo": {
+ "description": "Describes the backup suspension details.",
+ "properties": {
+ "IsSuspended": {
+ "type": "boolean",
+ "description": "Indicates whether periodic backup is suspended at this level or not."
+ },
+ "SuspensionInheritedFrom": {
+ "$ref": "#/definitions/BackupSuspensionScope",
+ "description": "Specifies the scope at which the backup suspension was applied."
+ }
+ }
+ },
+ "BackupEntityKind": {
+ "type": "string",
+ "description": "The entity type of a Service Fabric entity such as Application, Service or a Partition where periodic backups can be enabled.",
+ "enum": [
+ "Invalid",
+ "Partition",
+ "Service",
+ "Application"
+ ],
+ "x-ms-enum": {
+ "name": "BackupEntityKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid entity kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "Partition",
+ "description": "Indicates the entity is a Service Fabric partition."
+ },
+ {
+ "value": "Service",
+ "description": "Indicates the entity is a Service Fabric service."
+ },
+ {
+ "value": "Application",
+ "description": "Indicates the entity is a Service Fabric application."
+ }
+ ]
+ }
+ },
+ "GetBackupByStorageQueryDescription": {
+ "description": "Describes additional filters to be applied, while listing backups, and backup storage details from where to fetch the backups.",
+ "required": [
+ "Storage",
+ "BackupEntity"
+ ],
+ "properties": {
+ "StartDateTimeFilter": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning."
+ },
+ "EndDateTimeFilter": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end."
+ },
+ "Latest": {
+ "type": "boolean",
+ "default": false,
+ "description": "If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity."
+ },
+ "Storage": {
+ "$ref": "#/definitions/BackupStorageDescription",
+ "description": "Describes the parameters for the backup storage from where to enumerate backups. This is optional and by default backups are enumerated from the backup storage where this backup entity is currently being backed up (as specified in backup policy). This parameter is useful to be able to enumerate backups from another cluster where you may intend to restore."
+ },
+ "BackupEntity": {
+ "$ref": "#/definitions/BackupEntity",
+ "description": "Indicates the entity for which to enumerate backups."
+ }
+ }
+ },
+ "NodeImpact": {
+ "description": "Describes the expected impact of a repair to a particular node.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "NodeName": {
+ "type": "string",
+ "description": "The name of the impacted node."
+ },
+ "ImpactLevel": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "None",
+ "Restart",
+ "RemoveData",
+ "RemoveNode"
+ ],
+ "description": "The level of impact expected.",
+ "x-ms-enum": {
+ "name": "ImpactLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid"
+ },
+ {
+ "value": "None"
+ },
+ {
+ "value": "Restart"
+ },
+ {
+ "value": "RemoveData"
+ },
+ {
+ "value": "RemoveNode"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "NodeName"
+ ]
+ },
+ "NodeRepairImpactDescription": {
+ "description": "Describes the expected impact of a repair on a set of nodes.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "x-ms-discriminator-value": "Node",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RepairImpactDescriptionBase"
+ }
+ ],
+ "properties": {
+ "NodeImpactList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeImpact"
+ },
+ "description": "The list of nodes impacted by a repair action and their respective expected impact."
+ }
+ }
+ },
+ "NodeRepairTargetDescription": {
+ "description": "Describes the list of nodes targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "x-ms-discriminator-value": "Node",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RepairTargetDescriptionBase"
+ }
+ ],
+ "properties": {
+ "NodeNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of nodes targeted by a repair action."
+ }
+ }
+ },
+ "RepairImpactDescriptionBase": {
+ "discriminator": "Kind",
+ "description": "Describes the expected impact of executing a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/RepairImpactKind",
+ "description": "The kind of repair impact represented by the current object."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "RepairImpactKind": {
+ "description": "Specifies the kind of the impact. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Node"
+ ],
+ "x-ms-enum": {
+ "name": "RepairImpactKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The repair impact is not valid or is of an unknown type."
+ },
+ {
+ "value": "Node",
+ "description": "The repair impact affects a set of Service Fabric nodes."
+ }
+ ]
+ }
+ },
+ "RepairTargetDescriptionBase": {
+ "discriminator": "Kind",
+ "description": "Describes the entities targeted by a repair action.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/RepairTargetKind",
+ "description": "The kind of repair target described by the current object."
+ }
+ },
+ "required": [
+ "Kind"
+ ]
+ },
+ "RepairTargetKind": {
+ "description": "Specifies the kind of the repair target. This type supports the Service Fabric platform; it is not meant to be used directly from your code.'",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Node"
+ ],
+ "x-ms-enum": {
+ "name": "RepairTargetKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The repair target is not valid or is of an unknown type."
+ },
+ {
+ "value": "Node",
+ "description": "The repair target is a set of Service Fabric nodes."
+ }
+ ]
+ }
+ },
+ "RepairTask": {
+ "description": "Represents a repair task, which includes information about what kind of repair was requested, what its progress is, and what its final result was.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The version of the repair task.\nWhen creating a new repair task, the version must be set to zero. When updating a repair task,\nthe version is used for optimistic concurrency checks. If the version is\nset to zero, the update will not check for write conflicts. If the version is set to a non-zero value, then the\nupdate will only succeed if the actual current version of the repair task matches this value."
+ },
+ "Description": {
+ "type": "string",
+ "description": "A description of the purpose of the repair task, or other informational details.\nMay be set when the repair task is created, and is immutable once set."
+ },
+ "State": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Created",
+ "Claimed",
+ "Preparing",
+ "Approved",
+ "Executing",
+ "Restoring",
+ "Completed"
+ ],
+ "description": "The workflow state of the repair task. Valid initial states are Created, Claimed, and Preparing.",
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the repair task state is invalid. All Service Fabric enumerations have the invalid value."
+ },
+ {
+ "value": "Created",
+ "description": "Indicates that the repair task has been created."
+ },
+ {
+ "value": "Claimed",
+ "description": "Indicates that the repair task has been claimed by a repair executor."
+ },
+ {
+ "value": "Preparing",
+ "description": "Indicates that the Repair Manager is preparing the system to handle the impact of the repair task, usually by taking resources offline gracefully."
+ },
+ {
+ "value": "Approved",
+ "description": "Indicates that the repair task has been approved by the Repair Manager and is safe to execute."
+ },
+ {
+ "value": "Executing",
+ "description": "Indicates that execution of the repair task is in progress."
+ },
+ {
+ "value": "Restoring",
+ "description": "Indicates that the Repair Manager is restoring the system to its pre-repair state, usually by bringing resources back online."
+ },
+ {
+ "value": "Completed",
+ "description": "Indicates that the repair task has completed, and no further state changes will occur."
+ }
+ ]
+ }
+ },
+ "Flags": {
+ "type": "integer",
+ "description": "A bitwise-OR of the following values, which gives additional details about the status of the repair task.\n- 1 - Cancellation of the repair has been requested\n- 2 - Abort of the repair has been requested\n- 4 - Approval of the repair was forced via client request"
+ },
+ "Action": {
+ "type": "string",
+ "description": "The requested repair action. Must be specified when the repair task is created, and is immutable once set."
+ },
+ "Target": {
+ "$ref": "#/definitions/RepairTargetDescriptionBase",
+ "description": "The target object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nMay be set when the repair task is created, and is immutable once set."
+ },
+ "Executor": {
+ "type": "string",
+ "description": "The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set."
+ },
+ "ExecutorData": {
+ "type": "string",
+ "description": "A data string that the repair executor can use to store its internal state."
+ },
+ "Impact": {
+ "$ref": "#/definitions/RepairImpactDescriptionBase",
+ "description": "The impact object determines what actions the system will take to prepare for the impact of the repair, prior to approving execution of the repair.\nImpact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set."
+ },
+ "ResultStatus": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Cancelled",
+ "Interrupted",
+ "Failed",
+ "Pending"
+ ],
+ "description": "A value describing the overall result of the repair task execution. Must be specified in the Restoring and later states, and is immutable once set.",
+ "x-ms-enum": {
+ "name": "ResultStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates that the repair task result is invalid. All Service Fabric enumerations have the invalid value."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Indicates that the repair task completed execution successfully."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Indicates that the repair task was cancelled prior to execution."
+ },
+ {
+ "value": "Interrupted",
+ "description": "Indicates that execution of the repair task was interrupted by a cancellation request after some work had already been performed."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates that there was a failure during execution of the repair task. Some work may have been performed."
+ },
+ {
+ "value": "Pending",
+ "description": "Indicates that the repair task result is not yet available, because the repair task has not finished executing."
+ }
+ ]
+ }
+ },
+ "ResultCode": {
+ "type": "integer",
+ "description": "A numeric value providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set."
+ },
+ "ResultDetails": {
+ "type": "string",
+ "description": "A string providing additional details about the result of the repair task execution.\nMay be specified in the Restoring and later states, and is immutable once set."
+ },
+ "History": {
+ "$ref": "#/definitions/RepairTaskHistory",
+ "description": "An object that contains timestamps of the repair task's state transitions.\nThese timestamps are updated by the system, and cannot be directly modified."
+ },
+ "PreparingHealthCheckState": {
+ "$ref": "#/definitions/RepairTaskHealthCheckState",
+ "description": "The workflow state of the health check when the repair task is in the Preparing state."
+ },
+ "RestoringHealthCheckState": {
+ "$ref": "#/definitions/RepairTaskHealthCheckState",
+ "description": "The workflow state of the health check when the repair task is in the Restoring state."
+ },
+ "PerformPreparingHealthCheck": {
+ "type": "boolean",
+ "description": "A value to determine if health checks will be performed when the repair task enters the Preparing state."
+ },
+ "PerformRestoringHealthCheck": {
+ "type": "boolean",
+ "description": "A value to determine if health checks will be performed when the repair task enters the Restoring state."
+ }
+ },
+ "required": [
+ "TaskId",
+ "Action",
+ "State"
+ ]
+ },
+ "RepairTaskApproveDescription": {
+ "description": "Describes a request for forced approval of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskCancelDescription": {
+ "description": "Describes a request to cancel a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed."
+ },
+ "RequestAbort": {
+ "type": "boolean",
+ "description": "_True_ if the repair should be stopped as soon as possible even if it has already started executing. _False_ if the repair should be cancelled only if execution has not yet started."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskDeleteDescription": {
+ "description": "Describes a request to delete a completed repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the completed repair task to be deleted."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current version of the repair task. If zero, then no version check is performed."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskHealthCheckState": {
+ "description": "Specifies the workflow state of a repair task's health check. This type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Succeeded",
+ "Skipped",
+ "TimedOut"
+ ],
+ "x-ms-enum": {
+ "name": "RepairTaskHealthCheckState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Indicates that the health check has not started."
+ },
+ {
+ "value": "InProgress",
+ "description": "Indicates that the health check is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Indicates that the health check succeeded."
+ },
+ {
+ "value": "Skipped",
+ "description": "Indicates that the health check was skipped."
+ },
+ {
+ "value": "TimedOut",
+ "description": "Indicates that the health check timed out."
+ }
+ ]
+ }
+ },
+ "RepairTaskHistory": {
+ "description": "A record of the times when the repair task entered each state.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "CreatedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Created state."
+ },
+ "ClaimedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Claimed state."
+ },
+ "PreparingUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Preparing state."
+ },
+ "ApprovedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Approved state"
+ },
+ "ExecutingUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Executing state"
+ },
+ "RestoringUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Restoring state"
+ },
+ "CompletedUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task entered the Completed state"
+ },
+ "PreparingHealthCheckStartUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task started the health check in the Preparing state."
+ },
+ "PreparingHealthCheckEndUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task completed the health check in the Preparing state."
+ },
+ "RestoringHealthCheckStartUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task started the health check in the Restoring state."
+ },
+ "RestoringHealthCheckEndUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the repair task completed the health check in the Restoring state."
+ }
+ }
+ },
+ "RepairTaskList": {
+ "type": "array",
+ "description": "A list of repair tasks.",
+ "items": {
+ "$ref": "#/definitions/RepairTask"
+ }
+ },
+ "RepairTaskUpdateHealthPolicyDescription": {
+ "description": "Describes a request to update the health policy of a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "TaskId": {
+ "type": "string",
+ "description": "The ID of the repair task to be updated."
+ },
+ "Version": {
+ "type": "string",
+ "description": "The current version number of the repair task. If non-zero, then the request will only succeed if this value matches the actual current value of the repair task. If zero, then no version check is performed."
+ },
+ "PerformPreparingHealthCheck": {
+ "type": "boolean",
+ "description": "A boolean indicating if health check is to be performed in the Preparing stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value."
+ },
+ "PerformRestoringHealthCheck": {
+ "type": "boolean",
+ "description": "A boolean indicating if health check is to be performed in the Restoring stage of the repair task. If not specified the existing value should not be altered. Otherwise, specify the desired new value."
+ }
+ },
+ "required": [
+ "TaskId"
+ ]
+ },
+ "RepairTaskUpdateInfo": {
+ "description": "Describes the result of an operation that created or updated a repair task.\n\nThis type supports the Service Fabric platform; it is not meant to be used directly from your code.",
+ "properties": {
+ "Version": {
+ "type": "string",
+ "description": "The new version of the repair task."
+ }
+ },
+ "required": [
+ "Version"
+ ]
+ },
+ "ReconfigurationInformation": {
+ "description": "Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.",
+ "properties": {
+ "PreviousConfigurationRole": {
+ "$ref": "#/definitions/ReplicaRole",
+ "description": "Replica role before reconfiguration started."
+ },
+ "ReconfigurationPhase": {
+ "$ref": "#/definitions/ReconfigurationPhase",
+ "description": "Current phase of ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"."
+ },
+ "ReconfigurationType": {
+ "$ref": "#/definitions/ReconfigurationType",
+ "description": "Type of current ongoing reconfiguration. If no reconfiguration is taking place then this value will be \"None\"."
+ },
+ "ReconfigurationStartTimeUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time."
+ }
+ }
+ },
+ "ReconfigurationPhase": {
+ "type": "string",
+ "description": "The reconfiguration phase of a replica of a stateful service.",
+ "enum": [
+ "Unknown",
+ "None",
+ "Phase0",
+ "Phase1",
+ "Phase2",
+ "Phase3",
+ "Phase4",
+ "AbortPhaseZero"
+ ],
+ "x-ms-enum": {
+ "name": "ReconfigurationPhase",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the invalid reconfiguration phase."
+ },
+ {
+ "value": "None",
+ "description": "Specifies that there is no reconfiguration in progress."
+ },
+ {
+ "value": "Phase0",
+ "description": "Refers to the phase where the reconfiguration is transferring data from the previous primary to the new primary."
+ },
+ {
+ "value": "Phase1",
+ "description": "Refers to the phase where the reconfiguration is querying the replica set for the progress."
+ },
+ {
+ "value": "Phase2",
+ "description": "Refers to the phase where the reconfiguration is ensuring that data from the current primary is present in a majority of the replica set."
+ },
+ {
+ "value": "Phase3",
+ "description": "This phase is for internal use only."
+ },
+ {
+ "value": "Phase4",
+ "description": "This phase is for internal use only."
+ },
+ {
+ "value": "AbortPhaseZero",
+ "description": "This phase is for internal use only."
+ }
+ ]
+ }
+ },
+ "ReconfigurationType": {
+ "type": "string",
+ "description": "The type of reconfiguration for replica of a stateful service.",
+ "enum": [
+ "Unknown",
+ "SwapPrimary",
+ "Failover",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "ReconfigurationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the invalid reconfiguration type."
+ },
+ {
+ "value": "SwapPrimary",
+ "description": "Specifies that the primary replica is being swapped with a different replica."
+ },
+ {
+ "value": "Failover",
+ "description": "Reconfiguration triggered in response to a primary going down. This could be due to many reasons such as primary replica crashing etc."
+ },
+ {
+ "value": "Other",
+ "description": "Reconfigurations where the primary replica is not changing."
+ }
+ ]
+ }
+ },
+ "InfrastructureServiceResponse": {
+ "type": "string",
+ "format": "binary",
+ "description": "This is a weakly-typed response stream to the client. It contains the JSON response from the infrastructure service without deserialization.\nThe content of the response depends on which command was issued to the infrastructure service."
+ },
+ "UploadChunkRange": {
+ "description": "Information about which portion of the file to upload.",
+ "properties": {
+ "StartPosition": {
+ "type": "string",
+ "description": "The start position of the portion of the file. It's represented by the number of bytes."
+ },
+ "EndPosition": {
+ "type": "string",
+ "description": "The end position of the portion of the file. It's represented by the number of bytes."
+ }
+ }
+ },
+ "UploadSessionInfo": {
+ "description": "Information about an image store upload session. A session is associated with a relative path in the image store.",
+ "properties": {
+ "StoreRelativePath": {
+ "type": "string",
+ "description": "The remote location within image store. This path is relative to the image store root."
+ },
+ "SessionId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A unique ID of the upload session. A session ID can be reused only if the session was committed or removed."
+ },
+ "ModifiedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the upload session was last modified."
+ },
+ "FileSize": {
+ "type": "string",
+ "description": "The size in bytes of the uploading file."
+ },
+ "ExpectedRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UploadChunkRange"
+ },
+ "description": "List of chunk ranges that image store has not received yet."
+ }
+ }
+ },
+ "UploadSession": {
+ "description": "Information about a image store upload session",
+ "properties": {
+ "UploadSessions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UploadSessionInfo"
+ },
+ "description": "When querying upload session by upload session ID, the result contains only one upload session. When querying upload session by image store relative path, the result might contain multiple upload sessions."
+ }
+ }
+ },
+ "ScalingPolicyDescription": {
+ "description": "Describes how the scaling should be performed",
+ "required": [
+ "ScalingTrigger",
+ "ScalingMechanism"
+ ],
+ "properties": {
+ "ScalingTrigger": {
+ "$ref": "#/definitions/ScalingTriggerDescription",
+ "description": "Specifies the trigger associated with this scaling policy"
+ },
+ "ScalingMechanism": {
+ "$ref": "#/definitions/ScalingMechanismDescription",
+ "description": "Specifies the mechanism associated with this scaling policy"
+ }
+ }
+ },
+ "ScalingPolicyDescriptionList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScalingPolicyDescription"
+ },
+ "description": "A list that describes the scaling policies."
+ },
+ "ScalingTriggerDescription": {
+ "discriminator": "Kind",
+ "description": "Describes the trigger for performing a scaling operation.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ScalingTriggerKind",
+ "description": "Specifies the kind of scaling trigger"
+ }
+ }
+ },
+ "ScalingMechanismDescription": {
+ "discriminator": "Kind",
+ "description": "Describes the mechanism for performing a scaling operation.",
+ "required": [
+ "Kind"
+ ],
+ "properties": {
+ "Kind": {
+ "$ref": "#/definitions/ScalingMechanismKind",
+ "description": "Specifies the kind of scaling mechanism"
+ }
+ }
+ },
+ "ScalingTriggerKind": {
+ "type": "string",
+ "description": "Enumerates the ways that a service can be scaled.",
+ "enum": [
+ "Invalid",
+ "AveragePartitionLoad",
+ "AverageServiceLoad"
+ ],
+ "x-ms-enum": {
+ "name": "ScalingTriggerKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the scaling trigger is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "AveragePartitionLoad",
+ "description": "Indicates a trigger where scaling decisions are made based on average load of a partition. The value is 1."
+ },
+ {
+ "value": "AverageServiceLoad",
+ "description": "Indicates a trigger where scaling decisions are made based on average load of a service. The value is 2."
+ }
+ ]
+ }
+ },
+ "ScalingMechanismKind": {
+ "type": "string",
+ "description": "Enumerates the ways that a service can be scaled.",
+ "enum": [
+ "Invalid",
+ "PartitionInstanceCount",
+ "AddRemoveIncrementalNamedPartition"
+ ],
+ "x-ms-enum": {
+ "name": "ScalingMechanismKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the scaling mechanism is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "PartitionInstanceCount",
+ "description": "Indicates a mechanism for scaling where new instances are added or removed from a partition. The value is 1."
+ },
+ {
+ "value": "AddRemoveIncrementalNamedPartition",
+ "description": "Indicates a mechanism for scaling where new named partitions are added or removed from a service. The value is 2."
+ }
+ ]
+ }
+ },
+ "AveragePartitionLoadScalingTrigger": {
+ "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingTriggerDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AveragePartitionLoad",
+ "required": [
+ "MetricName",
+ "LowerLoadThreshold",
+ "UpperLoadThreshold",
+ "ScaleIntervalInSeconds"
+ ],
+ "properties": {
+ "MetricName": {
+ "type": "string",
+ "description": "The name of the metric for which usage should be tracked."
+ },
+ "LowerLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The lower limit of the load below which a scale in operation should be performed."
+ },
+ "UpperLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The upper limit of the load beyond which a scale out operation should be performed."
+ },
+ "ScaleIntervalInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The period in seconds on which a decision is made whether to scale or not."
+ }
+ }
+ },
+ "AverageServiceLoadScalingTrigger": {
+ "description": "Represents a scaling policy related to an average load of a metric/resource of a service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingTriggerDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AverageServiceLoad",
+ "required": [
+ "MetricName",
+ "LowerLoadThreshold",
+ "UpperLoadThreshold",
+ "ScaleIntervalInSeconds"
+ ],
+ "properties": {
+ "MetricName": {
+ "type": "string",
+ "description": "The name of the metric for which usage should be tracked."
+ },
+ "LowerLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The lower limit of the load below which a scale in operation should be performed."
+ },
+ "UpperLoadThreshold": {
+ "type": "string",
+ "format": "double",
+ "description": "The upper limit of the load beyond which a scale out operation should be performed."
+ },
+ "ScaleIntervalInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "maximum": 4294967295,
+ "description": "The period in seconds on which a decision is made whether to scale or not."
+ }
+ }
+ },
+ "PartitionInstanceCountScaleMechanism": {
+ "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingMechanismDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "PartitionInstanceCount",
+ "required": [
+ "MinInstanceCount",
+ "MaxInstanceCount",
+ "ScaleIncrement"
+ ],
+ "properties": {
+ "MinInstanceCount": {
+ "type": "integer",
+ "description": "Minimum number of instances of the partition."
+ },
+ "MaxInstanceCount": {
+ "type": "integer",
+ "description": "Maximum number of instances of the partition."
+ },
+ "ScaleIncrement": {
+ "type": "integer",
+ "description": "The number of instances to add or remove during a scaling operation."
+ }
+ }
+ },
+ "AddRemoveIncrementalNamedPartitionScalingMechanism": {
+ "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1''N-1'",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScalingMechanismDescription"
+ }
+ ],
+ "x-ms-discriminator-value": "AddRemoveIncrementalNamedPartition",
+ "required": [
+ "MinPartitionCount",
+ "MaxPartitionCount",
+ "ScaleIncrement"
+ ],
+ "properties": {
+ "MinPartitionCount": {
+ "type": "integer",
+ "description": "Minimum number of named partitions of the service."
+ },
+ "MaxPartitionCount": {
+ "type": "integer",
+ "description": "Maximum number of named partitions of the service."
+ },
+ "ScaleIncrement": {
+ "type": "integer",
+ "description": "The number of instances to add or remove during a scaling operation."
+ }
+ }
+ },
+ "UnplacedReplicaInformation": {
+ "description": "Contains information for an unplaced replica.",
+ "properties": {
+ "ServiceName": {
+ "$ref": "#/definitions/ServiceName",
+ "description": "The name of the service."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "The ID of the partition."
+ },
+ "UnplacedReplicaDetails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of reasons due to which a replica cannot be placed."
+ }
+ }
+ },
+ "ApplicationCreatedEvent": {
+ "description": "Application Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ },
+ "ApplicationDefinitionKind": {
+ "type": "string",
+ "description": "Application definition kind."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "ApplicationDefinitionKind"
+ ],
+ "x-ms-discriminator-value": "ApplicationCreated"
+ },
+ "ApplicationDeletedEvent": {
+ "description": "Application Deleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion"
+ ],
+ "x-ms-discriminator-value": "ApplicationDeleted"
+ },
+ "ApplicationNewHealthReportEvent": {
+ "description": "Application Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ApplicationNewHealthReport"
+ },
+ "ApplicationHealthReportExpiredEvent": {
+ "description": "Application Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ApplicationHealthReportExpired"
+ },
+ "ApplicationUpgradeCompletedEvent": {
+ "description": "Application Upgrade Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall upgrade time in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeCompleted"
+ },
+ "ApplicationUpgradeDomainCompletedEvent": {
+ "description": "Application Upgrade Domain Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "CurrentApplicationTypeVersion": {
+ "type": "string",
+ "description": "Current Application type version."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Target Application type version."
+ },
+ "UpgradeState": {
+ "type": "string",
+ "description": "State of upgrade."
+ },
+ "UpgradeDomains": {
+ "type": "string",
+ "description": "Upgrade domains."
+ },
+ "UpgradeDomainElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Upgrade time of domain in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "CurrentApplicationTypeVersion",
+ "ApplicationTypeVersion",
+ "UpgradeState",
+ "UpgradeDomains",
+ "UpgradeDomainElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeDomainCompleted"
+ },
+ "ApplicationUpgradeRollbackCompletedEvent": {
+ "description": "Application Upgrade Rollback Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Application type version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes reason of failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall upgrade time in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "ApplicationTypeVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeRollbackCompleted"
+ },
+ "ApplicationUpgradeRollbackStartedEvent": {
+ "description": "Application Upgrade Rollback Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "CurrentApplicationTypeVersion": {
+ "type": "string",
+ "description": "Current Application type version."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Target Application type version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes reason of failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall upgrade time in milli-seconds."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "CurrentApplicationTypeVersion",
+ "ApplicationTypeVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeRollbackStarted"
+ },
+ "ApplicationUpgradeStartedEvent": {
+ "description": "Application Upgrade Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "CurrentApplicationTypeVersion": {
+ "type": "string",
+ "description": "Current Application type version."
+ },
+ "ApplicationTypeVersion": {
+ "type": "string",
+ "description": "Target Application type version."
+ },
+ "UpgradeType": {
+ "type": "string",
+ "description": "Type of upgrade."
+ },
+ "RollingUpgradeMode": {
+ "type": "string",
+ "description": "Mode of upgrade."
+ },
+ "FailureAction": {
+ "type": "string",
+ "description": "Action if failed."
+ }
+ },
+ "required": [
+ "ApplicationTypeName",
+ "CurrentApplicationTypeVersion",
+ "ApplicationTypeVersion",
+ "UpgradeType",
+ "RollingUpgradeMode",
+ "FailureAction"
+ ],
+ "x-ms-discriminator-value": "ApplicationUpgradeStarted"
+ },
+ "DeployedApplicationNewHealthReportEvent": {
+ "description": "Deployed Application Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedApplicationNewHealthReport"
+ },
+ "DeployedApplicationHealthReportExpiredEvent": {
+ "description": "Deployed Application Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ApplicationInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Application instance."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ApplicationInstanceId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedApplicationHealthReportExpired"
+ },
+ "ApplicationProcessExitedEvent": {
+ "description": "Process Exited event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of Service."
+ },
+ "ServicePackageName": {
+ "type": "string",
+ "description": "Name of Service package."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Activation Id of Service package."
+ },
+ "IsExclusive": {
+ "type": "boolean",
+ "description": "Indicates IsExclusive flag."
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "Name of Code package."
+ },
+ "EntryPointType": {
+ "type": "string",
+ "description": "Type of EntryPoint."
+ },
+ "ExeName": {
+ "type": "string",
+ "description": "Name of executable."
+ },
+ "ProcessId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Process Id."
+ },
+ "HostId": {
+ "type": "string",
+ "description": "Host Id."
+ },
+ "ExitCode": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Exit code of process."
+ },
+ "UnexpectedTermination": {
+ "type": "boolean",
+ "description": "Indicates if termination is unexpected."
+ },
+ "StartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of process."
+ }
+ },
+ "required": [
+ "ServiceName",
+ "ServicePackageName",
+ "ServicePackageActivationId",
+ "IsExclusive",
+ "CodePackageName",
+ "EntryPointType",
+ "ExeName",
+ "ProcessId",
+ "HostId",
+ "ExitCode",
+ "UnexpectedTermination",
+ "StartTime"
+ ],
+ "x-ms-discriminator-value": "ApplicationProcessExited"
+ },
+ "ApplicationContainerInstanceExitedEvent": {
+ "description": "Container Exited event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of Service."
+ },
+ "ServicePackageName": {
+ "type": "string",
+ "description": "Name of Service package."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Activation Id of Service package."
+ },
+ "IsExclusive": {
+ "type": "boolean",
+ "description": "Indicates IsExclusive flag."
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "Name of Code package."
+ },
+ "EntryPointType": {
+ "type": "string",
+ "description": "Type of EntryPoint."
+ },
+ "ImageName": {
+ "type": "string",
+ "description": "Name of Container image."
+ },
+ "ContainerName": {
+ "type": "string",
+ "description": "Name of Container."
+ },
+ "HostId": {
+ "type": "string",
+ "description": "Host Id."
+ },
+ "ExitCode": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Exit code of process."
+ },
+ "UnexpectedTermination": {
+ "type": "boolean",
+ "description": "Indicates if termination is unexpected."
+ },
+ "StartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of process."
+ }
+ },
+ "required": [
+ "ServiceName",
+ "ServicePackageName",
+ "ServicePackageActivationId",
+ "IsExclusive",
+ "CodePackageName",
+ "EntryPointType",
+ "ImageName",
+ "ContainerName",
+ "HostId",
+ "ExitCode",
+ "UnexpectedTermination",
+ "StartTime"
+ ],
+ "x-ms-discriminator-value": "ApplicationContainerInstanceExited"
+ },
+ "NodeAbortedEvent": {
+ "description": "Node Aborted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "Upgrade domain of Node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "Fault domain of Node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "Hostname": {
+ "type": "string",
+ "description": "Name of Host."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if it is seed node."
+ },
+ "NodeVersion": {
+ "type": "string",
+ "description": "Version of Node."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "NodeId",
+ "UpgradeDomain",
+ "FaultDomain",
+ "IpAddressOrFQDN",
+ "Hostname",
+ "IsSeedNode",
+ "NodeVersion"
+ ],
+ "x-ms-discriminator-value": "NodeAborted"
+ },
+ "NodeAddedToClusterEvent": {
+ "description": "Node Added event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeType": {
+ "type": "string",
+ "description": "Type of Node."
+ },
+ "FabricVersion": {
+ "type": "string",
+ "description": "Fabric version."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "NodeCapacities": {
+ "type": "string",
+ "description": "Capacities."
+ }
+ },
+ "required": [
+ "NodeId",
+ "NodeInstance",
+ "NodeType",
+ "FabricVersion",
+ "IpAddressOrFQDN",
+ "NodeCapacities"
+ ],
+ "x-ms-discriminator-value": "NodeAddedToCluster"
+ },
+ "NodeClosedEvent": {
+ "description": "Node Closed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "Error": {
+ "type": "string",
+ "description": "Describes error."
+ }
+ },
+ "required": [
+ "NodeId",
+ "NodeInstance",
+ "Error"
+ ],
+ "x-ms-discriminator-value": "NodeClosed"
+ },
+ "NodeDeactivateCompletedEvent": {
+ "description": "Node Deactivate Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "EffectiveDeactivateIntent": {
+ "type": "string",
+ "description": "Describes deactivate intent."
+ },
+ "BatchIdsWithDeactivateIntent": {
+ "type": "string",
+ "description": "Batch Ids."
+ },
+ "StartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "EffectiveDeactivateIntent",
+ "BatchIdsWithDeactivateIntent",
+ "StartTime"
+ ],
+ "x-ms-discriminator-value": "NodeDeactivateCompleted"
+ },
+ "NodeDeactivateStartedEvent": {
+ "description": "Node Deactivate Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "BatchId": {
+ "type": "string",
+ "description": "Batch Id."
+ },
+ "DeactivateIntent": {
+ "type": "string",
+ "description": "Describes deactivate intent."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "BatchId",
+ "DeactivateIntent"
+ ],
+ "x-ms-discriminator-value": "NodeDeactivateStarted"
+ },
+ "NodeDownEvent": {
+ "description": "Node Down event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "LastNodeUpAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time when Node was last up."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "LastNodeUpAt"
+ ],
+ "x-ms-discriminator-value": "NodeDown"
+ },
+ "NodeNewHealthReportEvent": {
+ "description": "Node Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "NodeInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "NodeNewHealthReport"
+ },
+ "NodeHealthReportExpiredEvent": {
+ "description": "Node Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "NodeInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "NodeHealthReportExpired"
+ },
+ "NodeOpenSucceededEvent": {
+ "description": "Node Opened Succeeded event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "Upgrade domain of Node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "Fault domain of Node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "Hostname": {
+ "type": "string",
+ "description": "Name of Host."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if it is seed node."
+ },
+ "NodeVersion": {
+ "type": "string",
+ "description": "Version of Node."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "NodeId",
+ "UpgradeDomain",
+ "FaultDomain",
+ "IpAddressOrFQDN",
+ "Hostname",
+ "IsSeedNode",
+ "NodeVersion"
+ ],
+ "x-ms-discriminator-value": "NodeOpenSucceeded"
+ },
+ "NodeOpenFailedEvent": {
+ "description": "Node Open Failed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "UpgradeDomain": {
+ "type": "string",
+ "description": "Upgrade domain of Node."
+ },
+ "FaultDomain": {
+ "type": "string",
+ "description": "Fault domain of Node."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "Hostname": {
+ "type": "string",
+ "description": "Name of Host."
+ },
+ "IsSeedNode": {
+ "type": "boolean",
+ "description": "Indicates if it is seed node."
+ },
+ "NodeVersion": {
+ "type": "string",
+ "description": "Version of Node."
+ },
+ "Error": {
+ "type": "string",
+ "description": "Describes the error."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "NodeId",
+ "UpgradeDomain",
+ "FaultDomain",
+ "IpAddressOrFQDN",
+ "Hostname",
+ "IsSeedNode",
+ "NodeVersion",
+ "Error"
+ ],
+ "x-ms-discriminator-value": "NodeOpenFailed"
+ },
+ "NodeRemovedFromClusterEvent": {
+ "description": "Node Removed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeId": {
+ "type": "string",
+ "description": "Id of Node."
+ },
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "NodeType": {
+ "type": "string",
+ "description": "Type of Node."
+ },
+ "FabricVersion": {
+ "type": "string",
+ "description": "Fabric version."
+ },
+ "IpAddressOrFQDN": {
+ "type": "string",
+ "description": "IP address or FQDN."
+ },
+ "NodeCapacities": {
+ "type": "string",
+ "description": "Capacities."
+ }
+ },
+ "required": [
+ "NodeId",
+ "NodeInstance",
+ "NodeType",
+ "FabricVersion",
+ "IpAddressOrFQDN",
+ "NodeCapacities"
+ ],
+ "x-ms-discriminator-value": "NodeRemovedFromCluster"
+ },
+ "NodeUpEvent": {
+ "description": "Node Up event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "LastNodeDownAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time when Node was last down."
+ }
+ },
+ "required": [
+ "NodeInstance",
+ "LastNodeDownAt"
+ ],
+ "x-ms-discriminator-value": "NodeUp"
+ },
+ "PartitionNewHealthReportEvent": {
+ "description": "Partition Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "PartitionNewHealthReport"
+ },
+ "PartitionHealthReportExpiredEvent": {
+ "description": "Partition Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "PartitionHealthReportExpired"
+ },
+ "PartitionReconfiguredEvent": {
+ "description": "Partition Reconfiguration event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "NodeInstanceId": {
+ "type": "string",
+ "description": "Id of Node instance."
+ },
+ "ServiceType": {
+ "type": "string",
+ "description": "Type of Service."
+ },
+ "CcEpochDataLossVersion": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CcEpochDataLoss version."
+ },
+ "CcEpochConfigVersion": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CcEpochConfig version."
+ },
+ "ReconfigType": {
+ "type": "string",
+ "description": "Type of reconfiguration."
+ },
+ "Result": {
+ "type": "string",
+ "description": "Describes reconfiguration result."
+ },
+ "Phase0DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase0 in milli-seconds."
+ },
+ "Phase1DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase1 in milli-seconds."
+ },
+ "Phase2DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase2 in milli-seconds."
+ },
+ "Phase3DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase3 in milli-seconds."
+ },
+ "Phase4DurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of Phase4 in milli-seconds."
+ },
+ "TotalDurationMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Total duration in milli-seconds."
+ }
+ },
+ "required": [
+ "NodeName",
+ "NodeInstanceId",
+ "ServiceType",
+ "CcEpochDataLossVersion",
+ "CcEpochConfigVersion",
+ "ReconfigType",
+ "Result",
+ "Phase0DurationMs",
+ "Phase1DurationMs",
+ "Phase2DurationMs",
+ "Phase3DurationMs",
+ "Phase4DurationMs",
+ "TotalDurationMs"
+ ],
+ "x-ms-discriminator-value": "PartitionReconfigured"
+ },
+ "PartitionPrimaryMoveAnalysisEvent": {
+ "description": "Partition Primary Move Analysis event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionAnalysisEvent"
+ }
+ ],
+ "properties": {
+ "WhenMoveCompleted": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time when the move was completed."
+ },
+ "PreviousNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "CurrentNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "MoveReason": {
+ "type": "string",
+ "description": "Move reason."
+ },
+ "RelevantTraces": {
+ "type": "string",
+ "description": "Relevant traces."
+ }
+ },
+ "required": [
+ "WhenMoveCompleted",
+ "PreviousNode",
+ "CurrentNode",
+ "MoveReason",
+ "RelevantTraces"
+ ],
+ "x-ms-discriminator-value": "PartitionPrimaryMoveAnalysis"
+ },
+ "ServiceCreatedEvent": {
+ "description": "Service Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Service type name."
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "Application name."
+ },
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ServiceInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "IsStateful": {
+ "type": "boolean",
+ "description": "Indicates if Service is stateful."
+ },
+ "PartitionCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of partitions."
+ },
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Size of target replicas set."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum size of replicas set."
+ },
+ "ServicePackageVersion": {
+ "type": "string",
+ "description": "Version of Service package."
+ },
+ "PartitionId": {
+ "$ref": "#/definitions/PartitionId",
+ "description": "An internal ID used by Service Fabric to uniquely identify a partition. This is a randomly generated GUID when the service was created. The partition ID is unique and does not change for the lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be different."
+ }
+ },
+ "required": [
+ "ServiceTypeName",
+ "ApplicationName",
+ "ApplicationTypeName",
+ "ServiceInstance",
+ "IsStateful",
+ "PartitionCount",
+ "TargetReplicaSetSize",
+ "MinReplicaSetSize",
+ "ServicePackageVersion",
+ "PartitionId"
+ ],
+ "x-ms-discriminator-value": "ServiceCreated"
+ },
+ "ServiceDeletedEvent": {
+ "description": "Service Deleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "ServiceTypeName": {
+ "type": "string",
+ "description": "Service type name."
+ },
+ "ApplicationName": {
+ "type": "string",
+ "description": "Application name."
+ },
+ "ApplicationTypeName": {
+ "type": "string",
+ "description": "Application type name."
+ },
+ "ServiceInstance": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "IsStateful": {
+ "type": "boolean",
+ "description": "Indicates if Service is stateful."
+ },
+ "PartitionCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of partitions."
+ },
+ "TargetReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Size of target replicas set."
+ },
+ "MinReplicaSetSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum size of replicas set."
+ },
+ "ServicePackageVersion": {
+ "type": "string",
+ "description": "Version of Service package."
+ }
+ },
+ "required": [
+ "ServiceTypeName",
+ "ApplicationName",
+ "ApplicationTypeName",
+ "ServiceInstance",
+ "IsStateful",
+ "PartitionCount",
+ "TargetReplicaSetSize",
+ "MinReplicaSetSize",
+ "ServicePackageVersion"
+ ],
+ "x-ms-discriminator-value": "ServiceDeleted"
+ },
+ "ServiceNewHealthReportEvent": {
+ "description": "Service Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "InstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ServiceNewHealthReport"
+ },
+ "ServiceHealthReportExpiredEvent": {
+ "description": "Service Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceEvent"
+ }
+ ],
+ "properties": {
+ "InstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "InstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ServiceHealthReportExpired"
+ },
+ "DeployedServicePackageNewHealthReportEvent": {
+ "description": "Deployed Service Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceManifestName": {
+ "type": "string",
+ "description": "Service manifest name."
+ },
+ "ServicePackageInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service package instance."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Id of Service package activation."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ServiceManifestName",
+ "ServicePackageInstanceId",
+ "ServicePackageActivationId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedServicePackageNewHealthReport"
+ },
+ "DeployedServicePackageHealthReportExpiredEvent": {
+ "description": "Deployed Service Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "ServiceManifest": {
+ "type": "string",
+ "description": "Service manifest name."
+ },
+ "ServicePackageInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Service package instance."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Id of Service package activation."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ServiceManifest",
+ "ServicePackageInstanceId",
+ "ServicePackageActivationId",
+ "NodeName",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "DeployedServicePackageHealthReportExpired"
+ },
+ "StatefulReplicaNewHealthReportEvent": {
+ "description": "Stateful Replica Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "ReplicaInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Replica instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ReplicaInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatefulReplicaNewHealthReport"
+ },
+ "StatefulReplicaHealthReportExpiredEvent": {
+ "description": "Stateful Replica Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "ReplicaInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Replica instance."
+ },
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "ReplicaInstanceId",
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatefulReplicaHealthReportExpired"
+ },
+ "StatelessReplicaNewHealthReportEvent": {
+ "description": "Stateless Replica Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatelessReplicaNewHealthReport"
+ },
+ "StatelessReplicaHealthReportExpiredEvent": {
+ "description": "Stateless Replica Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "StatelessReplicaHealthReportExpired"
+ },
+ "ClusterNewHealthReportEvent": {
+ "description": "Cluster Health Report Created event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ClusterNewHealthReport"
+ },
+ "ClusterHealthReportExpiredEvent": {
+ "description": "Cluster Health Report Expired event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "SourceId": {
+ "type": "string",
+ "description": "Id of report source."
+ },
+ "Property": {
+ "type": "string",
+ "description": "Describes the property."
+ },
+ "HealthState": {
+ "type": "string",
+ "description": "Describes the property health state."
+ },
+ "TimeToLiveMs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Time to live in milli-seconds."
+ },
+ "SequenceNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Sequence number of report."
+ },
+ "Description": {
+ "type": "string",
+ "description": "Description of report."
+ },
+ "RemoveWhenExpired": {
+ "type": "boolean",
+ "description": "Indicates the removal when it expires."
+ },
+ "SourceUtcTimestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Source time."
+ }
+ },
+ "required": [
+ "SourceId",
+ "Property",
+ "HealthState",
+ "TimeToLiveMs",
+ "SequenceNumber",
+ "Description",
+ "RemoveWhenExpired",
+ "SourceUtcTimestamp"
+ ],
+ "x-ms-discriminator-value": "ClusterHealthReportExpired"
+ },
+ "ClusterUpgradeCompletedEvent": {
+ "description": "Cluster Upgrade Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall duration of upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeCompleted"
+ },
+ "ClusterUpgradeDomainCompletedEvent": {
+ "description": "Cluster Upgrade Domain Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "UpgradeState": {
+ "type": "string",
+ "description": "State of upgrade."
+ },
+ "UpgradeDomains": {
+ "type": "string",
+ "description": "Upgrade domains."
+ },
+ "UpgradeDomainElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Duration of domain upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "UpgradeState",
+ "UpgradeDomains",
+ "UpgradeDomainElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeDomainCompleted"
+ },
+ "ClusterUpgradeRollbackCompletedEvent": {
+ "description": "Cluster Upgrade Rollback Completed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall duration of upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeRollbackCompleted"
+ },
+ "ClusterUpgradeRollbackStartedEvent": {
+ "description": "Cluster Upgrade Rollback Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "FailureReason": {
+ "type": "string",
+ "description": "Describes failure."
+ },
+ "OverallUpgradeElapsedTimeInMs": {
+ "type": "number",
+ "format": "double",
+ "description": "Overall duration of upgrade in milli-seconds."
+ }
+ },
+ "required": [
+ "TargetClusterVersion",
+ "FailureReason",
+ "OverallUpgradeElapsedTimeInMs"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeRollbackStarted"
+ },
+ "ClusterUpgradeStartedEvent": {
+ "description": "Cluster Upgrade Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "CurrentClusterVersion": {
+ "type": "string",
+ "description": "Current Cluster version."
+ },
+ "TargetClusterVersion": {
+ "type": "string",
+ "description": "Target Cluster version."
+ },
+ "UpgradeType": {
+ "type": "string",
+ "description": "Type of upgrade."
+ },
+ "RollingUpgradeMode": {
+ "type": "string",
+ "description": "Mode of upgrade."
+ },
+ "FailureAction": {
+ "type": "string",
+ "description": "Action if failed."
+ }
+ },
+ "required": [
+ "CurrentClusterVersion",
+ "TargetClusterVersion",
+ "UpgradeType",
+ "RollingUpgradeMode",
+ "FailureAction"
+ ],
+ "x-ms-discriminator-value": "ClusterUpgradeStarted"
+ },
+ "ChaosStoppedEvent": {
+ "description": "Chaos Stopped event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "Reason": {
+ "type": "string",
+ "description": "Describes reason."
+ }
+ },
+ "required": [
+ "Reason"
+ ],
+ "x-ms-discriminator-value": "ChaosStopped"
+ },
+ "ChaosStartedEvent": {
+ "description": "Chaos Started event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterEvent"
+ }
+ ],
+ "properties": {
+ "MaxConcurrentFaults": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum number of concurrent faults."
+ },
+ "TimeToRunInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Time to run in seconds."
+ },
+ "MaxClusterStabilizationTimeoutInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum timeout for cluster stabilization in seconds."
+ },
+ "WaitTimeBetweenIterationsInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Wait time between iterations in seconds."
+ },
+ "WaitTimeBetweenFaultsInSeconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Wait time between faults in seconds."
+ },
+ "MoveReplicaFaultEnabled": {
+ "type": "boolean",
+ "description": "Indicates MoveReplica fault is enabled."
+ },
+ "IncludedNodeTypeList": {
+ "type": "string",
+ "description": "List of included Node types."
+ },
+ "IncludedApplicationList": {
+ "type": "string",
+ "description": "List of included Applications."
+ },
+ "ClusterHealthPolicy": {
+ "type": "string",
+ "description": "Health policy."
+ },
+ "ChaosContext": {
+ "type": "string",
+ "description": "Chaos Context."
+ }
+ },
+ "required": [
+ "MaxConcurrentFaults",
+ "TimeToRunInSeconds",
+ "MaxClusterStabilizationTimeoutInSeconds",
+ "WaitTimeBetweenIterationsInSeconds",
+ "WaitTimeBetweenFaultsInSeconds",
+ "MoveReplicaFaultEnabled",
+ "IncludedNodeTypeList",
+ "IncludedApplicationList",
+ "ClusterHealthPolicy",
+ "ChaosContext"
+ ],
+ "x-ms-discriminator-value": "ChaosStarted"
+ },
+ "ChaosCodePackageRestartScheduledEvent": {
+ "description": "Chaos Restart Code Package Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "NodeName": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ServiceManifestName": {
+ "type": "string",
+ "description": "Service manifest name."
+ },
+ "CodePackageName": {
+ "type": "string",
+ "description": "Code package name."
+ },
+ "ServicePackageActivationId": {
+ "type": "string",
+ "description": "Id of Service package activation."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "NodeName",
+ "ServiceManifestName",
+ "CodePackageName",
+ "ServicePackageActivationId"
+ ],
+ "x-ms-discriminator-value": "ChaosCodePackageRestartScheduled"
+ },
+ "ChaosReplicaRemovalScheduledEvent": {
+ "description": "Chaos Remove Replica Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceUri": {
+ "type": "string",
+ "description": "Service name."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceUri"
+ ],
+ "x-ms-discriminator-value": "ChaosReplicaRemovalScheduled"
+ },
+ "ChaosPartitionSecondaryMoveScheduledEvent": {
+ "description": "Chaos Move Secondary Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "Service name."
+ },
+ "SourceNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "DestinationNode": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ForcedMove": {
+ "type": "boolean",
+ "description": "Indicates a forced move."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceName",
+ "SourceNode",
+ "DestinationNode",
+ "ForcedMove"
+ ],
+ "x-ms-discriminator-value": "ChaosPartitionSecondaryMoveScheduled"
+ },
+ "ChaosPartitionPrimaryMoveScheduledEvent": {
+ "description": "Chaos Move Primary Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PartitionEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceName": {
+ "type": "string",
+ "description": "Service name."
+ },
+ "NodeTo": {
+ "$ref": "#/definitions/NodeName",
+ "description": "The name of a Service Fabric node."
+ },
+ "ForcedMove": {
+ "type": "boolean",
+ "description": "Indicates a forced move."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceName",
+ "NodeTo",
+ "ForcedMove"
+ ],
+ "x-ms-discriminator-value": "ChaosPartitionPrimaryMoveScheduled"
+ },
+ "ChaosReplicaRestartScheduledEvent": {
+ "description": "Chaos Restart Replica Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicaEvent"
+ }
+ ],
+ "properties": {
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ },
+ "ServiceUri": {
+ "type": "string",
+ "description": "Service name."
+ }
+ },
+ "required": [
+ "FaultGroupId",
+ "FaultId",
+ "ServiceUri"
+ ],
+ "x-ms-discriminator-value": "ChaosReplicaRestartScheduled"
+ },
+ "ChaosNodeRestartScheduledEvent": {
+ "description": "Chaos Restart Node Fault Scheduled event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NodeEvent"
+ }
+ ],
+ "properties": {
+ "NodeInstanceId": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Id of Node instance."
+ },
+ "FaultGroupId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault group."
+ },
+ "FaultId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of fault."
+ }
+ },
+ "required": [
+ "NodeInstanceId",
+ "FaultGroupId",
+ "FaultId"
+ ],
+ "x-ms-discriminator-value": "ChaosNodeRestartScheduled"
+ },
+ "ManagedApplicationIdentityDescription": {
+ "description": "Managed application identity description.",
+ "properties": {
+ "TokenServiceEndpoint": {
+ "type": "string",
+ "description": "Token service endpoint."
+ },
+ "ManagedIdentities": {
+ "$ref": "#/definitions/ManagedApplicationIdentityList",
+ "description": "A list of managed application identity objects."
+ }
+ }
+ },
+ "ManagedApplicationIdentityList": {
+ "description": "A list of managed application identity objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedApplicationIdentity"
+ }
+ },
+ "ManagedApplicationIdentity": {
+ "description": "Describes a managed application identity.",
+ "required": [
+ "Name"
+ ],
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "The name of the identity."
+ },
+ "PrincipalId": {
+ "type": "string",
+ "description": "The identity's PrincipalId."
+ }
+ }
+ },
+ "InstanceCloseDelayDurationInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster\nupgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: \"#/definitions/StatelessServiceDescription.yaml\" for details.\nNote, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description.",
+ "default": 4294967295
+ },
+ "ResourceStatus": {
+ "description": "Status of the resource.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Ready",
+ "Upgrading",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Indicates the resource status is unknown. The value is zero."
+ },
+ {
+ "value": "Ready",
+ "description": "Indicates the resource is ready. The value is 1."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Indicates the resource is upgrading. The value is 2."
+ },
+ {
+ "value": "Creating",
+ "description": "Indicates the resource is being created. The value is 3."
+ },
+ {
+ "value": "Deleting",
+ "description": "Indicates the resource is being deleted. The value is 4."
+ },
+ {
+ "value": "Failed",
+ "description": "Indicates the resource is not functional due to persistent failures. See statusDetails property for more details. The value is 5."
+ }
+ ]
+ }
+ },
+ "SecretKind": {
+ "type": "string",
+ "description": "Describes the kind of secret.",
+ "enum": [
+ "inlinedValue",
+ "keyVaultVersionedReference"
+ ],
+ "x-ms-enum": {
+ "name": "SecretKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "inlinedValue",
+ "description": "A simple secret resource whose plaintext value is provided by the user."
+ },
+ {
+ "value": "keyVaultVersionedReference",
+ "description": "A secret resource that references a specific version of a secret stored in Azure Key Vault; the expected value is a versioned KeyVault URI corresponding to the version of the secret being referenced."
+ }
+ ]
+ }
+ },
+ "SecretResourceProperties": {
+ "description": "Describes the properties of a secret resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretResourcePropertiesBase"
+ }
+ ],
+ "properties": {
+ "description": {
+ "description": "User readable description of the secret.",
+ "type": "string"
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the resource."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the secret."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The type of the content stored in the secret value. The value of this property is opaque to Service Fabric. Once set, the value of this property cannot be changed."
+ }
+ }
+ },
+ "InlinedValueSecretResourceProperties": {
+ "description": "Describes the properties of a secret resource whose value is provided explicitly as plaintext. The secret resource may have multiple values, each being uniquely versioned. The secret value of each version is stored encrypted, and delivered as plaintext into the context of applications referencing it.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretResourceProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "inlinedValue"
+ },
+ "SecretResourceName": {
+ "type": "string",
+ "description": "Name of the Secret resource."
+ },
+ "SecretResourceDescription": {
+ "description": "This type describes a secret resource.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecretResourceProperties",
+ "description": "Describes the properties of a secret resource."
+ },
+ "name": {
+ "$ref": "#/definitions/SecretResourceName",
+ "description": "Name of the Secret resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedSecretResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of secret resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ }
+ }
+ },
+ "SecretResourcePropertiesBase": {
+ "discriminator": "kind",
+ "description": "This type describes the properties of a secret resource, including its kind.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/SecretKind",
+ "description": "Describes the kind of secret."
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "SecretValue": {
+ "type": "object",
+ "description": "This type represents the unencrypted value of the secret.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The actual value of the secret."
+ }
+ }
+ },
+ "SecretValueProperties": {
+ "type": "object",
+ "description": "This type describes properties of secret value resource.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The actual value of the secret."
+ }
+ }
+ },
+ "SecretValueResourceDescription": {
+ "description": "This type describes a value of a secret resource. The name of this resource is the version identifier corresponding to this secret value.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Version identifier of the secret value."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SecretValueResourceProperties",
+ "description": "This type describes properties of a secret value resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedSecretValueResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of values of a secret resource, paged if the number of results exceeds the limits of a single message. The next set of results can be obtained by executing the same query with the continuation token provided in the previous page.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ },
+ "description": "One page of the list."
+ }
+ }
+ },
+ "SecretValueResourceProperties": {
+ "description": "This type describes properties of a secret value resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SecretValueProperties"
+ }
+ ]
+ },
+ "VolumeProperties": {
+ "description": "Describes properties of a volume resource.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the volume."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the volume."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the volume."
+ },
+ "provider": {
+ "$ref": "#/definitions/VolumeProvider",
+ "description": "Provider of the volume."
+ },
+ "azureFileParameters": {
+ "$ref": "#/definitions/VolumeProviderParametersAzureFile",
+ "description": "This type describes a volume provided by an Azure Files file share."
+ }
+ },
+ "required": [
+ "provider"
+ ]
+ },
+ "VolumeProvider": {
+ "type": "string",
+ "description": "Describes the provider of the volume resource.",
+ "enum": [
+ "SFAzureFile"
+ ],
+ "x-ms-enum": {
+ "name": "VolumeProvider",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "SFAzureFile",
+ "description": "Provides volumes that are backed by Azure Files."
+ }
+ ]
+ }
+ },
+ "VolumeProviderParametersAzureFile": {
+ "description": "This type describes a volume provided by an Azure Files file share.",
+ "properties": {
+ "accountName": {
+ "description": "Name of the Azure storage account for the File Share.",
+ "type": "string"
+ },
+ "accountKey": {
+ "description": "Access key of the Azure storage account for the File Share.",
+ "type": "string"
+ },
+ "shareName": {
+ "description": "Name of the Azure Files file share that provides storage for the volume.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "accountName",
+ "shareName"
+ ]
+ },
+ "VolumeReference": {
+ "description": "Describes a reference to a volume resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the volume being referenced."
+ },
+ "readOnly": {
+ "type": "boolean",
+ "description": "The flag indicating whether the volume is read only. Default is 'false'."
+ },
+ "destinationPath": {
+ "type": "string",
+ "description": "The path within the container at which the volume should be mounted. Only valid path characters are allowed."
+ }
+ },
+ "required": [
+ "name",
+ "destinationPath"
+ ]
+ },
+ "ApplicationScopedVolume": {
+ "description": "Describes a volume whose lifetime is scoped to the application's lifetime.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/VolumeReference"
+ }
+ ],
+ "properties": {
+ "creationParameters": {
+ "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters",
+ "description": "Describes parameters for creating application-scoped volumes."
+ }
+ },
+ "required": [
+ "creationParameters"
+ ]
+ },
+ "ApplicationScopedVolumeCreationParameters": {
+ "description": "Describes parameters for creating application-scoped volumes.",
+ "type": "object",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/ApplicationScopedVolumeKind",
+ "description": "Specifies the application-scoped volume kind."
+ },
+ "description": {
+ "description": "User readable description of the volume.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "ApplicationScopedVolumeCreationParametersServiceFabricVolumeDisk": {
+ "description": "Describes parameters for creating application-scoped volumes provided by Service Fabric Volume Disks",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationScopedVolumeCreationParameters"
+ }
+ ],
+ "properties": {
+ "sizeDisk": {
+ "description": "Volume size",
+ "type": "string",
+ "enum": [
+ "Small",
+ "Medium",
+ "Large"
+ ],
+ "x-ms-enum": {
+ "name": "SizeTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "sizeDisk"
+ ],
+ "x-ms-discriminator-value": "ServiceFabricVolumeDisk"
+ },
+ "ApplicationScopedVolumeKind": {
+ "description": "Specifies the application-scoped volume kind.",
+ "type": "string",
+ "enum": [
+ "ServiceFabricVolumeDisk"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationScopedVolumeKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ServiceFabricVolumeDisk",
+ "description": "Provides Service Fabric High Availability Volume Disk"
+ }
+ ]
+ }
+ },
+ "VolumeResourceName": {
+ "type": "string",
+ "description": "Name of the Volume resource."
+ },
+ "VolumeResourceDescription": {
+ "description": "This type describes a volume resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/VolumeResourceName",
+ "description": "Name of the Volume resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VolumeProperties",
+ "description": "Describes properties of a volume resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedVolumeResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of volume resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ }
+ }
+ },
+ "NetworkAddressPrefix": {
+ "type": "string",
+ "description": "Address space for a container network. This is expressed in CIDR notation."
+ },
+ "NetworkRef": {
+ "description": "Describes a network reference in a service.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the network"
+ },
+ "endpointRefs": {
+ "description": "A list of endpoints that are exposed on this network.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointRef"
+ }
+ }
+ }
+ },
+ "EndpointRef": {
+ "description": "Describes a reference to a service endpoint.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the endpoint."
+ }
+ }
+ },
+ "NetworkKind": {
+ "type": "string",
+ "description": "The type of a Service Fabric container network.",
+ "enum": [
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Local",
+ "description": "Indicates a container network local to a single Service Fabric cluster. The value is 1."
+ }
+ ]
+ }
+ },
+ "NetworkResourceProperties": {
+ "description": "Describes properties of a network resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkResourcePropertiesBase"
+ }
+ ],
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the network."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the network."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the network."
+ }
+ }
+ },
+ "LocalNetworkResourceProperties": {
+ "description": "Information about a Service Fabric container network local to a single Service Fabric cluster.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkResourceProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "Local",
+ "properties": {
+ "networkAddressPrefix": {
+ "$ref": "#/definitions/NetworkAddressPrefix",
+ "description": "Address space for the local container network."
+ }
+ }
+ },
+ "NetworkResourceName": {
+ "type": "string",
+ "description": "Name of the Network resource."
+ },
+ "NetworkResourceDescription": {
+ "description": "This type describes a network resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/NetworkResourceName",
+ "description": "Name of the Network resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/NetworkResourceProperties",
+ "description": "Describes properties of a network resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "NetworkResourcePropertiesBase": {
+ "discriminator": "kind",
+ "description": "This type describes the properties of a network resource, including its kind.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/NetworkKind",
+ "description": "The type of a Service Fabric container network."
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "PagedNetworkResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of network resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ }
+ }
+ },
+ "GatewayDestination": {
+ "description": "Describes destination endpoint for routing traffic.",
+ "type": "object",
+ "properties": {
+ "applicationName": {
+ "type": "string",
+ "description": "Name of the service fabric Mesh application."
+ },
+ "serviceName": {
+ "type": "string",
+ "description": "service that contains the endpoint."
+ },
+ "endpointName": {
+ "type": "string",
+ "description": "name of the endpoint in the service."
+ }
+ },
+ "required": [
+ "applicationName",
+ "endpointName",
+ "serviceName"
+ ]
+ },
+ "GatewayProperties": {
+ "description": "Describes properties of a gateway resource.",
+ "properties": {
+ "description": {
+ "description": "User readable description of the gateway.",
+ "type": "string"
+ },
+ "sourceNetwork": {
+ "$ref": "#/definitions/NetworkRef",
+ "description": "Network the gateway should listen on for requests."
+ },
+ "destinationNetwork": {
+ "$ref": "#/definitions/NetworkRef",
+ "description": "Network that the Application is using."
+ },
+ "tcp": {
+ "description": "Configuration for tcp connectivity for this gateway.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TcpConfig"
+ }
+ },
+ "http": {
+ "description": "Configuration for http connectivity for this gateway.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpConfig"
+ }
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the resource."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the gateway."
+ },
+ "ipAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "IP address of the gateway. This is populated in the response and is ignored for incoming requests."
+ }
+ },
+ "required": [
+ "destinationNetwork",
+ "sourceNetwork"
+ ]
+ },
+ "HttpConfig": {
+ "description": "Describes the http configuration for external connectivity for this network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "http gateway config name."
+ },
+ "port": {
+ "type": "integer",
+ "description": "Specifies the port at which the service endpoint below needs to be exposed."
+ },
+ "hosts": {
+ "type": "array",
+ "description": "description for routing.",
+ "items": {
+ "$ref": "#/definitions/HttpHostConfig"
+ }
+ }
+ },
+ "required": [
+ "hosts",
+ "name",
+ "port"
+ ]
+ },
+ "HttpHostConfig": {
+ "description": "Describes the hostname properties for http routing.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "http hostname config name."
+ },
+ "routes": {
+ "type": "array",
+ "description": "Route information to use for routing. Routes are processed in the order they are specified. Specify routes that are more specific before routes that can handle general cases.",
+ "items": {
+ "$ref": "#/definitions/HttpRouteConfig"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "routes"
+ ]
+ },
+ "HttpRouteConfig": {
+ "description": "Describes the hostname properties for http routing.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "http route name."
+ },
+ "match": {
+ "$ref": "#/definitions/HttpRouteMatchRule",
+ "description": "Describes a rule for http route matching."
+ },
+ "destination": {
+ "$ref": "#/definitions/GatewayDestination",
+ "description": "Describes destination endpoint for routing traffic."
+ }
+ },
+ "required": [
+ "destination",
+ "match",
+ "name"
+ ]
+ },
+ "HttpRouteMatchHeader": {
+ "description": "Describes header information for http route matching.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of header to match in request."
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of header to match in request."
+ },
+ "type": {
+ "type": "string",
+ "description": "how to match header value",
+ "enum": [
+ "exact"
+ ],
+ "x-ms-enum": {
+ "name": "HeaderMatchType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "HttpRouteMatchPath": {
+ "description": "Path to match for routing.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Uri path to match for request."
+ },
+ "rewrite": {
+ "type": "string",
+ "description": "replacement string for matched part of the Uri."
+ },
+ "type": {
+ "type": "string",
+ "description": "how to match value in the Uri",
+ "enum": [
+ "prefix"
+ ],
+ "x-ms-enum": {
+ "name": "PathMatchType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "type",
+ "value"
+ ]
+ },
+ "HttpRouteMatchRule": {
+ "description": "Describes a rule for http route matching.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "$ref": "#/definitions/HttpRouteMatchPath",
+ "description": "Path to match for routing."
+ },
+ "headers": {
+ "type": "array",
+ "description": "headers and their values to match in request.",
+ "items": {
+ "$ref": "#/definitions/HttpRouteMatchHeader"
+ }
+ }
+ },
+ "required": [
+ "path"
+ ]
+ },
+ "TcpConfig": {
+ "description": "Describes the tcp configuration for external connectivity for this network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "tcp gateway config name."
+ },
+ "port": {
+ "type": "integer",
+ "description": "Specifies the port at which the service endpoint below needs to be exposed."
+ },
+ "destination": {
+ "$ref": "#/definitions/GatewayDestination",
+ "description": "Describes destination endpoint for routing traffic."
+ }
+ },
+ "required": [
+ "destination",
+ "name",
+ "port"
+ ]
+ },
+ "GatewayResourceName": {
+ "type": "string",
+ "description": "Name of the Gateway resource."
+ },
+ "GatewayResourceDescription": {
+ "description": "This type describes a gateway resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/GatewayResourceName",
+ "description": "Name of the Gateway resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayProperties",
+ "description": "Describes properties of a gateway resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedGatewayResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of gateway resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ }
+ }
+ },
+ "ApplicationProperties": {
+ "description": "Describes properties of a application resource.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the application."
+ },
+ "services": {
+ "type": "array",
+ "description": "Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.",
+ "items": {
+ "$ref": "#/definitions/ServiceResourceDescription"
+ }
+ },
+ "diagnostics": {
+ "$ref": "#/definitions/DiagnosticsDescription",
+ "description": "Describes the diagnostics definition and usage for an application resource."
+ },
+ "debugParams": {
+ "description": "Internal - used by Visual Studio to setup the debugging session on the local development environment.",
+ "type": "string"
+ },
+ "serviceNames": {
+ "readOnly": true,
+ "description": "Names of the services in the application.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the application."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the application."
+ },
+ "healthState": {
+ "readOnly": true,
+ "$ref": "#/definitions/HealthState",
+ "description": "Describes the health state of an application resource."
+ },
+ "unhealthyEvaluation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy."
+ }
+ }
+ },
+ "ApplicationResourceUpgradeProgressInfo": {
+ "description": "This type describes an application resource upgrade.",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "description": "Name of the Application resource."
+ },
+ "TargetApplicationTypeVersion": {
+ "type": "string",
+ "description": "The target application version for the application upgrade."
+ },
+ "StartTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade started."
+ },
+ "UpgradeState": {
+ "$ref": "#/definitions/ApplicationResourceUpgradeState",
+ "description": "The state of the application resource upgrade."
+ },
+ "PercentCompleted": {
+ "type": "string",
+ "description": "The estimated percent of replicas are completed in the upgrade."
+ },
+ "ServiceUpgradeProgress": {
+ "$ref": "#/definitions/ServiceUpgradeProgressList",
+ "description": "List of service upgrade progresses."
+ },
+ "RollingUpgradeMode": {
+ "$ref": "#/definitions/RollingUpgradeMode",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored."
+ },
+ "UpgradeDuration": {
+ "type": "string",
+ "description": "The estimated amount of time that the overall upgrade elapsed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.",
+ "default": "PT0H2M0S"
+ },
+ "ApplicationUpgradeStatusDetails": {
+ "type": "string",
+ "description": "Additional detailed information about the status of the pending upgrade."
+ },
+ "UpgradeReplicaSetCheckTimeoutInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).",
+ "default": 42949672925
+ },
+ "FailureTimestampUtc": {
+ "type": "string",
+ "description": "The estimated UTC datetime when the upgrade failed and FailureAction was executed."
+ }
+ }
+ },
+ "ApplicationResourceUpgradeState": {
+ "type": "string",
+ "description": "The state of the application resource upgrade.",
+ "enum": [
+ "Invalid",
+ "ProvisioningTarget",
+ "RollingForward",
+ "UnprovisioningCurrent",
+ "CompletedRollforward",
+ "RollingBack",
+ "UnprovisioningTarget",
+ "CompletedRollback",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationResourceUpgradeState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade state is invalid. All Service Fabric enumerations have the invalid type. The value is 0."
+ },
+ {
+ "value": "ProvisioningTarget",
+ "description": "The upgrade is in the progress of provisioning target application type version. The value is 1."
+ },
+ {
+ "value": "RollingForward",
+ "description": "The upgrade is rolling forward to the target version but is not complete yet. The value is 2."
+ },
+ {
+ "value": "UnprovisioningCurrent",
+ "description": "The upgrade is in the progress of unprovisioning current application type version and rolling forward to the target version is completed. The value is 3."
+ },
+ {
+ "value": "CompletedRollforward",
+ "description": "The upgrade has finished rolling forward. The value is 4."
+ },
+ {
+ "value": "RollingBack",
+ "description": "The upgrade is rolling back to the previous version but is not complete yet. The value is 5."
+ },
+ {
+ "value": "UnprovisioningTarget",
+ "description": "The upgrade is in the progress of unprovisioning target application type version and rolling back to the current version is completed. The value is 6."
+ },
+ {
+ "value": "CompletedRollback",
+ "description": "The upgrade has finished rolling back. The value is 7."
+ },
+ {
+ "value": "Failed",
+ "description": "The upgrade has failed and is unable to execute FailureAction. The value is 8."
+ }
+ ]
+ }
+ },
+ "AzureInternalMonitoringPipelineSinkDescription": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DiagnosticsSinkProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureInternalMonitoringPipeline",
+ "description": "Diagnostics settings for Geneva.",
+ "properties": {
+ "accountName": {
+ "description": "Azure Internal monitoring pipeline account.",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Azure Internal monitoring pipeline account namespace.",
+ "type": "string"
+ },
+ "maConfigUrl": {
+ "description": "Azure Internal monitoring agent configuration.",
+ "type": "string"
+ },
+ "fluentdConfigUrl": {
+ "description": "Azure Internal monitoring agent fluentd configuration.",
+ "type": "string"
+ },
+ "autoKeyConfigUrl": {
+ "description": "Azure Internal monitoring pipeline autokey associated with the certificate.",
+ "type": "string"
+ }
+ }
+ },
+ "DiagnosticsDescription": {
+ "description": "Describes the diagnostics options available",
+ "properties": {
+ "sinks": {
+ "description": "List of supported sinks that can be referenced.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticsSinkProperties"
+ }
+ },
+ "enabled": {
+ "description": "Status of whether or not sinks are enabled.",
+ "type": "boolean"
+ },
+ "defaultSinkRefs": {
+ "description": "The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DiagnosticsRef": {
+ "description": "Reference to sinks in DiagnosticsDescription.",
+ "properties": {
+ "enabled": {
+ "description": "Status of whether or not sinks are enabled.",
+ "type": "boolean"
+ },
+ "sinkRefs": {
+ "description": "List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DiagnosticsSinkKind": {
+ "type": "string",
+ "description": "The kind of DiagnosticsSink.",
+ "enum": [
+ "Invalid",
+ "AzureInternalMonitoringPipeline"
+ ],
+ "x-ms-enum": {
+ "name": "DiagnosticsSinkKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates an invalid sink kind. All Service Fabric enumerations have the invalid type."
+ },
+ {
+ "value": "AzureInternalMonitoringPipeline",
+ "description": "Diagnostics settings for Geneva."
+ }
+ ]
+ }
+ },
+ "DiagnosticsSinkProperties": {
+ "description": "Properties of a DiagnosticsSink.",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/DiagnosticsSinkKind",
+ "description": "The kind of DiagnosticsSink."
+ },
+ "name": {
+ "description": "Name of the sink. This value is referenced by DiagnosticsReferenceDescription",
+ "type": "string"
+ },
+ "description": {
+ "description": "A description of the sink.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "IdentityDescription": {
+ "description": "Information describing the identities associated with this application.",
+ "properties": {
+ "tokenServiceEndpoint": {
+ "type": "string",
+ "description": "the endpoint for the token service managing this identity"
+ },
+ "type": {
+ "type": "string",
+ "description": "the types of identities associated with this resource; currently restricted to 'SystemAssigned and UserAssigned'"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "the identifier of the tenant containing the application's identity."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "the object identifier of the Service Principal of the identity associated with this resource."
+ },
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/UserAssignedIdentityMap",
+ "description": "represents user assigned identities map."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "IdentityItemDescription": {
+ "description": "Describes a single user-assigned identity associated with the application.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "the object identifier of the Service Principal which this identity represents."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "the client identifier of the Service Principal which this identity represents."
+ }
+ }
+ },
+ "RollingUpgradeMode": {
+ "type": "string",
+ "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored.",
+ "enum": [
+ "Invalid",
+ "UnmonitoredAuto",
+ "UnmonitoredManual",
+ "Monitored"
+ ],
+ "default": "Monitored",
+ "x-ms-enum": {
+ "name": "RollingUpgradeMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero."
+ },
+ {
+ "value": "UnmonitoredAuto",
+ "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1"
+ },
+ {
+ "value": "UnmonitoredManual",
+ "description": "The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2"
+ },
+ {
+ "value": "Monitored",
+ "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3"
+ }
+ ]
+ }
+ },
+ "ServiceUpgradeProgressList": {
+ "type": "array",
+ "description": "List of service upgrade progresses.",
+ "items": {
+ "$ref": "#/definitions/ServiceUpgradeProgress"
+ }
+ },
+ "ServiceUpgradeProgress": {
+ "description": "Information about how many replicas are completed or pending for a specific service during upgrade.",
+ "properties": {
+ "ServiceName": {
+ "type": "string",
+ "description": "Name of the Service resource."
+ },
+ "CompletedReplicaCount": {
+ "type": "string",
+ "description": "The number of replicas that completes the upgrade in the service."
+ },
+ "PendingReplicaCount": {
+ "type": "string",
+ "description": "The number of replicas that are waiting to be upgraded in the service."
+ }
+ }
+ },
+ "UserAssignedIdentityMap": {
+ "type": "object",
+ "description": "Defines a map that contains user assigned identities.",
+ "additionalProperties": {
+ "$ref": "#/definitions/IdentityItemDescription"
+ }
+ },
+ "AddRemoveReplicaScalingMechanism": {
+ "description": "Describes the horizontal auto scaling mechanism that adds or removes replicas (containers or container groups).",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoScalingMechanism"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "AddRemoveReplica",
+ "properties": {
+ "minCount": {
+ "type": "integer",
+ "description": "Minimum number of containers (scale down won't be performed below this number)."
+ },
+ "maxCount": {
+ "type": "integer",
+ "description": "Maximum number of containers (scale up won't be performed above this number)."
+ },
+ "scaleIncrement": {
+ "type": "integer",
+ "description": "Each time auto scaling is performed, this number of containers will be added or removed."
+ }
+ },
+ "required": [
+ "minCount",
+ "maxCount",
+ "scaleIncrement"
+ ]
+ },
+ "AutoScalingMechanism": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Describes the mechanism for performing auto scaling operation. Derived classes will describe the actual mechanism.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/AutoScalingMechanismKind",
+ "description": "The type of auto scaling mechanism."
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "AutoScalingMechanismKind": {
+ "type": "string",
+ "description": "Enumerates the mechanisms for auto scaling.",
+ "enum": [
+ "AddRemoveReplica"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingMechanismKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AddRemoveReplica",
+ "description": "Indicates that scaling should be performed by adding or removing replicas."
+ }
+ ]
+ }
+ },
+ "AutoScalingMetric": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Describes the metric that is used for triggering auto scaling operation. Derived classes will describe resources or metrics.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/AutoScalingMetricKind",
+ "description": "The type of auto scaling metric"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "AutoScalingMetricKind": {
+ "type": "string",
+ "description": "Enumerates the metrics that are used for triggering auto scaling.",
+ "enum": [
+ "Resource"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingMetricKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Resource",
+ "description": "Indicates that the metric is one of resources, like cpu or memory."
+ }
+ ]
+ }
+ },
+ "AutoScalingPolicy": {
+ "description": "Describes the auto scaling policy",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the auto scaling policy.",
+ "type": "string"
+ },
+ "trigger": {
+ "$ref": "#/definitions/AutoScalingTrigger",
+ "description": "Determines when auto scaling operation will be invoked."
+ },
+ "mechanism": {
+ "$ref": "#/definitions/AutoScalingMechanism",
+ "description": "The mechanism that is used to scale when auto scaling operation is invoked."
+ }
+ },
+ "required": [
+ "name",
+ "trigger",
+ "mechanism"
+ ]
+ },
+ "AutoScalingResourceMetric": {
+ "description": "Describes the resource that is used for triggering auto scaling.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoScalingMetric"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "Resource",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/AutoScalingResourceMetricName",
+ "description": "Name of the resource."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "AutoScalingResourceMetricName": {
+ "type": "string",
+ "description": "Enumerates the resources that are used for triggering auto scaling.",
+ "enum": [
+ "cpu",
+ "memoryInGB"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingResourceMetricName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "cpu",
+ "description": "Indicates that the resource is CPU cores."
+ },
+ {
+ "value": "memoryInGB",
+ "description": "Indicates that the resource is memory in GB."
+ }
+ ]
+ }
+ },
+ "AutoScalingTrigger": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Describes the trigger for performing auto scaling operation.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/AutoScalingTriggerKind",
+ "description": "The type of auto scaling trigger"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "AutoScalingTriggerKind": {
+ "type": "string",
+ "description": "Enumerates the triggers for auto scaling.",
+ "enum": [
+ "AverageLoad"
+ ],
+ "x-ms-enum": {
+ "name": "AutoScalingTriggerKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AverageLoad",
+ "description": "Indicates that scaling should be performed based on average load of all replicas in the service."
+ }
+ ]
+ }
+ },
+ "ContainerCodePackageProperties": {
+ "description": "Describes a container and its runtime properties.",
+ "properties": {
+ "name": {
+ "description": "The name of the code package.",
+ "type": "string"
+ },
+ "image": {
+ "description": "The Container image to use.",
+ "type": "string"
+ },
+ "imageRegistryCredential": {
+ "$ref": "#/definitions/ImageRegistryCredential",
+ "description": "Image registry credential."
+ },
+ "entrypoint": {
+ "description": "Override for the default entry point in the container.",
+ "type": "string"
+ },
+ "commands": {
+ "description": "Command array to execute within the container in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in this container",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "settings": {
+ "description": "The settings to set in this container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Setting"
+ }
+ },
+ "labels": {
+ "description": "The labels to set in this container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerLabel"
+ }
+ },
+ "endpoints": {
+ "description": "The endpoints exposed by this container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointProperties"
+ }
+ },
+ "resources": {
+ "description": "The resources required by this container.",
+ "$ref": "#/definitions/ResourceRequirements"
+ },
+ "volumeRefs": {
+ "description": "Volumes to be attached to the container. The lifetime of these volumes is independent of the application's lifetime.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeReference"
+ }
+ },
+ "volumes": {
+ "description": "Volumes to be attached to the container. The lifetime of these volumes is scoped to the application's lifetime.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationScopedVolume"
+ }
+ },
+ "diagnostics": {
+ "$ref": "#/definitions/DiagnosticsRef",
+ "description": "Reference to sinks in DiagnosticsDescription."
+ },
+ "reliableCollectionsRefs": {
+ "description": "A list of ReliableCollection resources used by this particular code package. Please refer to ReliableCollectionsRef for more details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReliableCollectionsRef"
+ }
+ },
+ "instanceView": {
+ "readOnly": true,
+ "$ref": "#/definitions/ContainerInstanceView",
+ "description": "Runtime information of a container instance."
+ },
+ "livenessProbe": {
+ "description": "An array of liveness probes for a code package. It determines when to restart a code package.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ }
+ },
+ "readinessProbe": {
+ "description": "An array of readiness probes for a code package. It determines when to unpublish an endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Probe"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "image",
+ "resources"
+ ]
+ },
+ "ContainerEvent": {
+ "description": "A container event.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the container event."
+ },
+ "count": {
+ "type": "integer",
+ "description": "The count of the event."
+ },
+ "firstTimestamp": {
+ "type": "string",
+ "description": "Date/time of the first event."
+ },
+ "lastTimestamp": {
+ "type": "string",
+ "description": "Date/time of the last event."
+ },
+ "message": {
+ "type": "string",
+ "description": "The event message"
+ },
+ "type": {
+ "type": "string",
+ "description": "The event type."
+ }
+ }
+ },
+ "ContainerInstanceView": {
+ "description": "Runtime information of a container instance.",
+ "properties": {
+ "restartCount": {
+ "type": "integer",
+ "description": "The number of times the container has been restarted."
+ },
+ "currentState": {
+ "$ref": "#/definitions/ContainerState",
+ "description": "Current container instance state."
+ },
+ "previousState": {
+ "$ref": "#/definitions/ContainerState",
+ "description": "Previous container instance state."
+ },
+ "events": {
+ "description": "The events of this container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerEvent"
+ }
+ }
+ }
+ },
+ "ContainerLabel": {
+ "description": "Describes a container label.",
+ "properties": {
+ "name": {
+ "description": "The name of the container label.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the container label.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "ContainerState": {
+ "description": "The container state.",
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "The state of this container"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date/time when the container state started."
+ },
+ "exitCode": {
+ "type": "string",
+ "description": "The container exit code."
+ },
+ "finishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date/time when the container state finished."
+ },
+ "detailStatus": {
+ "description": "Human-readable status of this state.",
+ "type": "string"
+ }
+ }
+ },
+ "EndpointProperties": {
+ "description": "Describes a container endpoint.",
+ "properties": {
+ "name": {
+ "description": "The name of the endpoint.",
+ "type": "string"
+ },
+ "port": {
+ "description": "Port used by the container.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EnvironmentVariable": {
+ "description": "Describes an environment variable for the container.",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/EnvironmentVariableType",
+ "description": "The type of the environment variable being given in value"
+ },
+ "name": {
+ "description": "The name of the environment variable.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the environment variable, will be processed based on the type provided.",
+ "type": "string"
+ }
+ }
+ },
+ "EnvironmentVariableType": {
+ "type": "string",
+ "description": "The type of the environment variable being given in value",
+ "default": "ClearText",
+ "enum": [
+ "ClearText",
+ "KeyVaultReference",
+ "SecretValueReference"
+ ],
+ "x-ms-enum": {
+ "name": "EnvironmentVariableType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClearText",
+ "description": "The environment variable in clear text, will not be processed in any way and passed in as is"
+ },
+ {
+ "value": "KeyVaultReference",
+ "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in"
+ },
+ {
+ "value": "SecretValueReference",
+ "description": "The reference to a SecretValue resource, will be resolved before getting passed in"
+ }
+ ]
+ }
+ },
+ "ExecutionPolicy": {
+ "type": "object",
+ "discriminator": "type",
+ "description": "The execution policy of the service",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/ExecutionPolicyType",
+ "description": "Enumerates the execution policy types for services."
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "ExecutionPolicyType": {
+ "type": "string",
+ "description": "Enumerates the execution policy types for services.",
+ "enum": [
+ "runToCompletion"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionPolicyType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "runToCompletion",
+ "description": "Indicates that the service will perform its desired operation and complete successfully. If the service encounters failure, it will restarted based on restart policy specified. If the service completes its operation successfully, it will not be restarted again."
+ }
+ ]
+ }
+ },
+ "ImageRegistryCredential": {
+ "description": "Image registry credential.",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "Docker image registry server, without protocol such as `http` and `https`."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for the private registry."
+ },
+ "passwordType": {
+ "$ref": "#/definitions/ImageRegistryPasswordType",
+ "description": "The type of the image registry password being given in password"
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the private registry. The password is required for create or update operations, however it is not returned in the get or list operations. Will be processed based on the type provided."
+ }
+ },
+ "required": [
+ "server",
+ "username"
+ ]
+ },
+ "ImageRegistryPasswordType": {
+ "type": "string",
+ "description": "The type of the image registry password being given in password",
+ "default": "ClearText",
+ "enum": [
+ "ClearText",
+ "KeyVaultReference",
+ "SecretValueReference"
+ ],
+ "x-ms-enum": {
+ "name": "ImageRegistryPasswordType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClearText",
+ "description": "The image registry password in clear text, will not be processed in any way and used directly"
+ },
+ {
+ "value": "KeyVaultReference",
+ "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting used"
+ },
+ {
+ "value": "SecretValueReference",
+ "description": "The reference to a SecretValue resource, will be resolved before getting used"
+ }
+ ]
+ }
+ },
+ "OperatingSystemType": {
+ "type": "string",
+ "description": "The operation system required by the code in service.",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "The required operating system is Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "The required operating system is Windows."
+ }
+ ]
+ }
+ },
+ "Probe": {
+ "description": "Probes have a number of fields that you can use to control their behavior.",
+ "properties": {
+ "initialDelaySeconds": {
+ "type": "integer",
+ "description": "The initial delay in seconds to start executing probe once code package has started."
+ },
+ "periodSeconds": {
+ "type": "integer",
+ "description": "Periodic seconds to execute probe."
+ },
+ "timeoutSeconds": {
+ "type": "integer",
+ "description": "Period after which probe is considered as failed if it hasn't completed successfully."
+ },
+ "successThreshold": {
+ "type": "integer",
+ "description": "The count of successful probe executions after which probe is considered success."
+ },
+ "failureThreshold": {
+ "type": "integer",
+ "description": "The count of failures after which probe is considered failed."
+ },
+ "exec": {
+ "$ref": "#/definitions/ProbeExec",
+ "description": "Exec command to run inside the container."
+ },
+ "httpGet": {
+ "$ref": "#/definitions/ProbeHttpGet",
+ "description": "Http probe for the container."
+ },
+ "tcpSocket": {
+ "$ref": "#/definitions/ProbeTcpSocket",
+ "description": "Tcp port to probe inside the container."
+ }
+ }
+ },
+ "ProbeExec": {
+ "description": "Exec command to run inside the container.",
+ "properties": {
+ "command": {
+ "description": "Comma separated command to run inside the container for example \"sh, -c, echo hello world\".",
+ "type": "string"
+ }
+ },
+ "required": [
+ "command"
+ ]
+ },
+ "ProbeHttpGet": {
+ "description": "Http probe for the container.",
+ "properties": {
+ "port": {
+ "description": "Port to access for probe.",
+ "type": "integer"
+ },
+ "path": {
+ "description": "Path to access on the HTTP request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host IP to connect to.",
+ "type": "string"
+ },
+ "httpHeaders": {
+ "description": "Headers to set in the request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProbeHttpGetHeaders"
+ }
+ },
+ "scheme": {
+ "type": "string",
+ "description": "Scheme for the http probe. Can be Http or Https.",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "scheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "Indicates that the probe is http."
+ },
+ {
+ "value": "https",
+ "description": "Indicates that the probe is https. No cert validation."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ProbeHttpGetHeaders": {
+ "description": "Http headers.",
+ "properties": {
+ "name": {
+ "description": "The name of the header.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the header.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ },
+ "ProbeTcpSocket": {
+ "description": "Tcp port to probe inside the container.",
+ "properties": {
+ "port": {
+ "description": "Port to access for probe.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ReliableCollectionsRef": {
+ "description": "Specifying this parameter adds support for reliable collections",
+ "properties": {
+ "name": {
+ "description": "Name of ReliableCollection resource. Right now it's not used and you can use any string.",
+ "type": "string"
+ },
+ "doNotPersistState": {
+ "description": "False (the default) if ReliableCollections state is persisted to disk as usual. True if you do not want to persist state, in which case replication is still enabled and you can use ReliableCollections as distributed cache.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ResourceLimits": {
+ "description": "This type describes the resource limits for a given container. It describes the most amount of resources a container is allowed to use before being restarted.",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory limit in GB.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "CPU limits in cores. At present, only full cores are supported.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "This type describes the requested resources for a given container. It describes the least amount of resources required for the container. A container can consume more than requested resources up to the specified limits before being restarted. Currently, the requested resources are treated as limits.",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory request in GB for this container.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "Requested number of CPU cores. At present, only full cores are supported.",
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "memoryInGB",
+ "cpu"
+ ]
+ },
+ "ResourceRequirements": {
+ "description": "This type describes the resource requirements for a container or a service.",
+ "properties": {
+ "requests": {
+ "$ref": "#/definitions/ResourceRequests",
+ "description": "Describes the requested resources for a given container."
+ },
+ "limits": {
+ "$ref": "#/definitions/ResourceLimits",
+ "description": "Describes the maximum limits on the resources for a given container."
+ }
+ },
+ "required": [
+ "requests"
+ ]
+ },
+ "RestartPolicy": {
+ "type": "string",
+ "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy",
+ "enum": [
+ "onFailure",
+ "never"
+ ],
+ "x-ms-enum": {
+ "name": "RestartPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "onFailure",
+ "description": "Service will be restarted when it encounters a failure."
+ },
+ {
+ "value": "never",
+ "description": "Service will never be restarted. If the service encounters a failure, it will move to Failed state."
+ }
+ ]
+ }
+ },
+ "RunToCompletionExecutionPolicy": {
+ "description": "The run to completion execution policy",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExecutionPolicy"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "runToCompletion",
+ "properties": {
+ "restart": {
+ "$ref": "#/definitions/RestartPolicy",
+ "description": "Enumerates the restart policy for RunToCompletionExecutionPolicy"
+ }
+ },
+ "required": [
+ "restart"
+ ]
+ },
+ "ServiceProperties": {
+ "description": "Describes properties of a service resource.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "User readable description of the service."
+ },
+ "replicaCount": {
+ "type": "integer",
+ "description": "The number of replicas of the service to create. Defaults to 1 if not specified."
+ },
+ "executionPolicy": {
+ "$ref": "#/definitions/ExecutionPolicy",
+ "description": "The execution policy of the service"
+ },
+ "autoScalingPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoScalingPolicy"
+ },
+ "description": "Auto scaling policies"
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ResourceStatus",
+ "description": "Status of the service."
+ },
+ "statusDetails": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gives additional information about the current status of the service."
+ },
+ "healthState": {
+ "readOnly": true,
+ "$ref": "#/definitions/HealthState",
+ "description": "Describes the health state of an application resource."
+ },
+ "unhealthyEvaluation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "When the service's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the service is marked unhealthy."
+ },
+ "identityRefs": {
+ "description": "The service identity list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceIdentity"
+ }
+ },
+ "dnsName": {
+ "type": "string",
+ "description": "Dns name of the service."
+ }
+ }
+ },
+ "ServiceReplicaProperties": {
+ "description": "Describes the properties of a service replica.",
+ "properties": {
+ "osType": {
+ "$ref": "#/definitions/OperatingSystemType",
+ "description": "The operation system required by the code in service."
+ },
+ "codePackages": {
+ "description": "Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerCodePackageProperties"
+ }
+ },
+ "networkRefs": {
+ "type": "array",
+ "description": "The names of the private networks that this service needs to be part of.",
+ "items": {
+ "$ref": "#/definitions/NetworkRef"
+ }
+ },
+ "diagnostics": {
+ "$ref": "#/definitions/DiagnosticsRef",
+ "description": "Reference to sinks in DiagnosticsDescription."
+ }
+ },
+ "required": [
+ "osType",
+ "codePackages"
+ ]
+ },
+ "Setting": {
+ "description": "Describes a setting for the container. The setting file path can be fetched from environment variable \"Fabric_SettingPath\". The path for Windows container is \"C:\\\\secrets\". The path for Linux container is \"/var/secrets\".",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/SettingType",
+ "description": "The type of the setting being given in value"
+ },
+ "name": {
+ "description": "The name of the setting.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the setting, will be processed based on the type provided.",
+ "type": "string"
+ }
+ }
+ },
+ "SettingType": {
+ "type": "string",
+ "description": "The type of the setting being given in value",
+ "default": "ClearText",
+ "enum": [
+ "ClearText",
+ "KeyVaultReference",
+ "SecretValueReference"
+ ],
+ "x-ms-enum": {
+ "name": "SettingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ClearText",
+ "description": "The setting in clear text, will not be processed in any way and passed in as is"
+ },
+ {
+ "value": "KeyVaultReference",
+ "description": "The URI to a KeyVault secret version, will be resolved using the application's managed identity (this type is only valid if the app was assigned a managed identity) before getting passed in"
+ },
+ {
+ "value": "SecretValueReference",
+ "description": "The reference to a SecretValue resource, will be resolved before getting passed in"
+ }
+ ]
+ }
+ },
+ "ServiceReplicaDescription": {
+ "description": "Describes a replica of a service resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceReplicaProperties"
+ }
+ ],
+ "properties": {
+ "replicaName": {
+ "type": "string",
+ "description": "Name of the replica."
+ }
+ },
+ "required": [
+ "replicaName"
+ ]
+ },
+ "AverageLoadScalingTrigger": {
+ "description": "Describes the average load trigger used for auto scaling.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoScalingTrigger"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "x-ms-discriminator-value": "AverageLoad",
+ "properties": {
+ "metric": {
+ "$ref": "#/definitions/AutoScalingMetric",
+ "description": "Description of the metric that is used for scaling."
+ },
+ "lowerLoadThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Lower load threshold (if average load is below this threshold, service will scale down)."
+ },
+ "upperLoadThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Upper load threshold (if average load is above this threshold, service will scale up)."
+ },
+ "scaleIntervalInSeconds": {
+ "type": "integer",
+ "description": "Scale interval that indicates how often will this trigger be checked.",
+ "minimum": 60
+ }
+ },
+ "required": [
+ "metric",
+ "lowerLoadThreshold",
+ "upperLoadThreshold",
+ "scaleIntervalInSeconds"
+ ]
+ },
+ "ServiceIdentity": {
+ "description": "Map service identity friendly name to an application identity.",
+ "properties": {
+ "name": {
+ "description": "The identity friendly name.",
+ "type": "string"
+ },
+ "identityRef": {
+ "description": "The application identity name.",
+ "type": "string"
+ }
+ }
+ },
+ "ServiceResourceName": {
+ "type": "string",
+ "description": "Name of the Service resource."
+ },
+ "ServiceResourceDescription": {
+ "description": "This type describes a service resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ServiceResourceName",
+ "description": "Name of the Service resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceResourceProperties",
+ "description": "This type describes properties of a service resource."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "ServiceResourceProperties": {
+ "description": "This type describes properties of a service resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceReplicaProperties"
+ },
+ {
+ "$ref": "#/definitions/ServiceProperties"
+ }
+ ]
+ },
+ "PagedServiceResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of service resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/ServiceResourceDescription"
+ }
+ }
+ }
+ },
+ "PagedServiceReplicaDescriptionList": {
+ "description": "The list of service resource replicas in the cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "List of service resource replica description.",
+ "items": {
+ "$ref": "#/definitions/ServiceReplicaDescription"
+ }
+ }
+ }
+ },
+ "ApplicationResourceName": {
+ "type": "string",
+ "description": "Name of the Application resource."
+ },
+ "ApplicationResourceDescription": {
+ "description": "This type describes a application resource.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ApplicationResourceName",
+ "description": "Name of the Application resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "description": "Describes properties of a application resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityDescription",
+ "description": "Describes the identity of the application."
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "PagedApplicationResourceDescriptionList": {
+ "type": "object",
+ "description": "The list of application resources. The list is paged when all of the results cannot fit in a single message. The next set of results can be obtained by executing the same query with the continuation token provided in this list.",
+ "properties": {
+ "ContinuationToken": {
+ "$ref": "#/definitions/ContinuationToken",
+ "description": "The continuation token parameter is used to obtain next set of results. The continuation token is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token is not included in the response."
+ },
+ "Items": {
+ "type": "array",
+ "description": "One page of the list.",
+ "items": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "CodePackageNameRequiredPathParam": {
+ "name": "codePackageName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of code package of the service."
+ },
+ "ApiVersion_6-4-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.4-preview"
+ ],
+ "required": true,
+ "default": "6.4-preview",
+ "description": "The version of the API. This parameter is required and its value must be '6.4-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-4-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.4-preview",
+ "description": "The version number for the preview functionality of 6.4 runtime"
+ }
+ ]
+ }
+ },
+ "TailOptionalQueryParam": {
+ "name": "Tail",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "Number of lines to show from the end of the logs. Default is 100. 'all' to show the complete logs."
+ },
+ "ApiVersion_6-0-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.0-preview"
+ ],
+ "required": true,
+ "default": "6.0-preview",
+ "description": "The version of the API. This parameter is required and its value must be '\"6.0-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-0-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.0-preview",
+ "description": "The version number for the preview functionality of 6.0 runtime."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-0_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.0"
+ ],
+ "required": true,
+ "default": "6.0",
+ "description": "The version of the API. This parameter is required and its value must be '6.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-0_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.0",
+ "description": "The 6.0 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-1_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.1"
+ ],
+ "required": true,
+ "default": "6.1",
+ "description": "The version of the API. This parameter is required and its value must be '6.1'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accept any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0, but if the runtime is 6.1, in order to make it easier to write the clients, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-1_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.1",
+ "description": "The 6.1 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-2_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.2"
+ ],
+ "required": true,
+ "default": "6.2",
+ "description": "The version of the API. This parameter is required and its value must be '6.2'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-2_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.2",
+ "description": "The 6.2 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-2-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.2-preview"
+ ],
+ "required": true,
+ "default": "6.2-preview",
+ "description": "The version of the API. This parameter is required and its value must be '6.2-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-2-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.2-preview",
+ "description": "The version number for the preview functionality of 6.2 runtime"
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-3_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.3"
+ ],
+ "required": true,
+ "default": "6.3",
+ "description": "The version of the API. This parameter is required and its value must be '6.3'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-3_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.3",
+ "description": "The 6.3 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-3-Preview_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.3-preview"
+ ],
+ "required": true,
+ "default": "6.3-preview",
+ "description": "The version of the API. This parameter is required and its value must be '6.3-preview'.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-3-Preview_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.3-preview",
+ "description": "The version number for the preview functionality of 6.3 runtime"
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-4_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.4"
+ ],
+ "required": true,
+ "default": "6.4",
+ "description": "The version of the API. This parameter is required and its value must be '6.4'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-4_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.4",
+ "description": "The 6.4 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_6-5_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "6.5"
+ ],
+ "required": true,
+ "default": "6.5",
+ "description": "The version of the API. This parameter is required and its value must be '6.5'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_6-5_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "6.5",
+ "description": "The 6.5 version of the API."
+ }
+ ]
+ }
+ },
+ "ApiVersion_7-0_RequiredQueryParam": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "7.0"
+ ],
+ "required": true,
+ "default": "7.0",
+ "description": "The version of the API. This parameter is required and its value must be '7.0'.\n\nService Fabric REST API version is based on the runtime version in which the API was introduced or was changed. Service Fabric runtime supports more than one version of the API. This version is the latest supported version of the API. If a lower API version is passed, the returned response may be different from the one documented in this specification.\n\nAdditionally the runtime accepts any version that is higher than the latest supported version up to the current version of the runtime. So if the latest API version is 6.0 and the runtime is 6.1, the runtime will accept version 6.1 for that API. However the behavior of the API will be as per the documented 6.0 version.",
+ "x-ms-enum": {
+ "name": "ApiVersion_7-0_RequiredQueryParam",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "7.0",
+ "description": "The 7.0 version of the API."
+ }
+ ]
+ }
+ },
+ "ApplicationDefinitionKindFilterOptionalQueryParam": {
+ "name": "ApplicationDefinitionKindFilter",
+ "description": "Used to filter on ApplicationDefinitionKind, which is the mechanism used to define a Service Fabric application.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationDescription - Filter that matches input with ApplicationDefinitionKind value ServiceFabricApplicationDescription. The value is 1.\n- Compose - Filter that matches input with ApplicationDefinitionKind value Compose. The value is 2.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ApplicationHealthPolicyOptionalBodyParam": {
+ "name": "ApplicationHealthPolicy",
+ "in": "body",
+ "description": "Describes the health policies used to evaluate the health of an application or one of its children.\nIf not present, the health evaluation uses the health policy from application manifest or the default health policy.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationHealthPolicy"
+ }
+ },
+ "ApplicationIdRequiredPathParam": {
+ "name": "applicationId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the application. This is typically the full name of the application without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the application name is \"fabric:/myapp/app1\", the application identity would be \"myapp~app1\" in 6.0+ and \"myapp/app1\" in previous versions."
+ },
+ "ApplicationsHealthStateFilterOptionalQueryParam": {
+ "name": "ApplicationsHealthStateFilter",
+ "description": "Allows filtering of the application health state objects returned in the result of cluster health\nquery based on their health state.\nThe possible values for this parameter include integer value obtained from members or bitwise operations\non members of HealthStateFilter enumeration. Only applications that match the filter are returned.\nAll applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ApplicationTypeDefinitionKindFilterOptionalQueryParam": {
+ "name": "ApplicationTypeDefinitionKindFilter",
+ "description": "Used to filter on ApplicationTypeDefinitionKind which is the mechanism used to define a Service Fabric application type.\n- Default - Default value, which performs the same function as selecting \"All\". The value is 0.\n- All - Filter that matches input with any ApplicationTypeDefinitionKind value. The value is 65535.\n- ServiceFabricApplicationPackage - Filter that matches input with ApplicationTypeDefinitionKind value ServiceFabricApplicationPackage. The value is 1.\n- Compose - Filter that matches input with ApplicationTypeDefinitionKind value Compose. The value is 2.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ApplicationTypeNameOptionalQueryParam": {
+ "name": "ApplicationTypeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The application type name used to filter the applications to query for. This value should not contain the application type version."
+ },
+ "ApplicationTypeNameRequiredPathParam": {
+ "name": "applicationTypeName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of the application type."
+ },
+ "ApplicationTypeVersionOptionalQueryParam": {
+ "name": "ApplicationTypeVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The version of the application type."
+ },
+ "ApplicationTypeVersionRequiredQueryParam": {
+ "name": "ApplicationTypeVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The version of the application type."
+ },
+ "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam": {
+ "name": "ProvisionApplicationTypeDescriptionBaseRequiredBodyParam",
+ "in": "body",
+ "description": "The base type of provision application type description which supports either image store-based provision or external store-based provision.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ProvisionApplicationTypeDescriptionBase"
+ }
+ },
+ "ClusterConfigurationUpgradeDescriptionRequiredBodyParam": {
+ "name": "ClusterConfigurationUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for a standalone cluster configuration upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterConfigurationUpgradeDescription"
+ }
+ },
+ "ClusterHealthPoliciesOptionalBodyParam": {
+ "name": "ClusterHealthPolicies",
+ "in": "body",
+ "description": "Describes the health policies used to evaluate the cluster health.\nIf not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthPolicies"
+ }
+ },
+ "ClusterHealthPolicyOptionalBodyParam": {
+ "name": "ClusterHealthPolicy",
+ "in": "body",
+ "description": "Describes the health policies used to evaluate the health of a cluster or node. If not present, the health evaluation uses the health policy from cluster manifest or the default health policy.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthPolicy"
+ }
+ },
+ "ClusterHealthChunkQueryDescriptionOptionalBodyParam": {
+ "name": "ClusterHealthChunkQueryDescription",
+ "in": "body",
+ "description": "Describes the cluster and application health policies used to evaluate the cluster health and the filters to select which cluster entities to be returned.\nIf the cluster health policy is present, it is used to evaluate the cluster events and the cluster nodes. If not present, the health evaluation uses the cluster health policy defined in the cluster manifest or the default cluster health policy.\nBy default, each application is evaluated using its specific application health policy, defined in the application manifest, or the default health policy, if no policy is defined in manifest.\nIf the application health policy map is specified, and it has an entry for an application, the specified application health policy\nis used to evaluate the application health.\nUsers can specify very flexible filters to select which cluster entities to include in response. The selection can be done based on the entities health state and based on the hierarchy.\nThe query can return multi-level children of the entities based on the specified filters. For example, it can return one application with a specified name, and for this application, return\nonly services that are in Error or Warning, and all partitions and replicas for one of these services.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ClusterHealthChunkQueryDescription"
+ }
+ },
+ "CodePackageInstanceIdRequiredQueryParam": {
+ "name": "CodePackageInstanceId",
+ "description": "ID that uniquely identifies a code package instance deployed on a service fabric node.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "CodePackageNameRequiredQueryParam": {
+ "name": "CodePackageName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "CodeVersionOptionalQueryParam": {
+ "name": "CodeVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The product version of Service Fabric."
+ },
+ "ConfigVersionOptionalQueryParam": {
+ "name": "ConfigVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The config version of Service Fabric."
+ },
+ "ConfigurationApiVersionRequiredQueryParam": {
+ "name": "ConfigurationApiVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The API version of the Standalone cluster json configuration."
+ },
+ "ContainerApiRequiredBodyParam": {
+ "name": "ContainerApiRequestBody",
+ "in": "body",
+ "description": "Parameters for making container API call",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ContainerApiRequestBody"
+ }
+ },
+ "ContinuationTokenOptionalQueryParam": {
+ "name": "ContinuationToken",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": false,
+ "description": "The continuation token parameter is used to obtain next set of results. A continuation token with a non-empty value is included in the response of the API when the results from the system do not fit in a single response. When this value is passed to the next API call, the API returns next set of results. If there are no further results, then the continuation token does not contain a value. The value of this parameter should not be URL encoded."
+ },
+ "DeployedApplicationsHealthStateFilterOptionalQueryParam": {
+ "name": "DeployedApplicationsHealthStateFilter",
+ "description": "Allows filtering of the deployed applications health state objects returned in the result of application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states. Only deployed applications that match the filter will be returned.\nAll deployed applications are used to evaluate the aggregated health state. If not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values, obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of deployed applications with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "DeployedServicePackagesHealthStateFilterOptionalQueryParam": {
+ "name": "DeployedServicePackagesHealthStateFilter",
+ "description": "Allows filtering of the deployed service package health state objects returned in the result of deployed application health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly deployed service packages that match the filter are returned. All deployed service packages are used to evaluate the aggregated health state of the deployed application.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value can be a combination of these values, obtained using the bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of service packages with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "DeploymentNameRequiredPathParam": {
+ "name": "deploymentName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the deployment."
+ },
+ "EventsHealthStateFilterOptionalQueryParam": {
+ "name": "EventsHealthStateFilter",
+ "description": "Allows filtering the collection of HealthEvent objects returned based on health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly events that match the filter are returned. All events are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values, obtained using the bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ExcludeApplicationParametersOptionalQueryParam": {
+ "name": "ExcludeApplicationParameters",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "The flag that specifies whether application parameters will be excluded from the result."
+ },
+ "HealthInformationRequiredBodyParam": {
+ "name": "HealthInformation",
+ "in": "body",
+ "description": "Describes the health information for the health report. This information needs to be present in all of the health reports sent to the health manager.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/HealthInformation"
+ }
+ },
+ "NodeNameRequiredPathParam": {
+ "name": "nodeName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of the node."
+ },
+ "NodesHealthStateFilterOptionalQueryParam": {
+ "name": "NodesHealthStateFilter",
+ "description": "Allows filtering of the node health state objects returned in the result of cluster health query\nbased on their health state. The possible values for this parameter include integer value of one of the\nfollowing health states. Only nodes that match the filter are returned. All nodes are used to evaluate the aggregated health state.\nIf not specified, all entries are returned.\nThe state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.\nFor example, if the provided value is 6 then health state of nodes with HealthState value of OK (2) and Warning (4) are returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "NodeStatusFilterOptionalQueryParam": {
+ "name": "NodeStatusFilter",
+ "description": "Allows filtering the nodes based on the NodeStatus. Only the nodes that are matching the specified filter value will be returned. The filter value can be one of the following.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "default",
+ "all",
+ "up",
+ "down",
+ "enabling",
+ "disabling",
+ "disabled",
+ "unknown",
+ "removed"
+ ],
+ "required": false,
+ "default": "default",
+ "x-ms-enum": {
+ "name": "NodeStatusFilter",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "default",
+ "description": "This filter value will match all of the nodes excepts the ones with status as Unknown or Removed."
+ },
+ {
+ "value": "all",
+ "description": "This filter value will match all of the nodes."
+ },
+ {
+ "value": "up",
+ "description": "This filter value will match nodes that are Up."
+ },
+ {
+ "value": "down",
+ "description": "This filter value will match nodes that are Down."
+ },
+ {
+ "value": "enabling",
+ "description": "This filter value will match nodes that are in the process of being enabled with status as Enabling."
+ },
+ {
+ "value": "disabling",
+ "description": "This filter value will match nodes that are in the process of being disabled with status as Disabling."
+ },
+ {
+ "value": "disabled",
+ "description": "This filter value will match nodes that are Disabled."
+ },
+ {
+ "value": "unknown",
+ "description": "This filter value will match nodes whose status is Unknown. A node would be in Unknown state if Service Fabric does not have authoritative information about that node. This can happen if the system learns about a node at runtime."
+ },
+ {
+ "value": "removed",
+ "description": "This filter value will match nodes whose status is Removed. These are the nodes that are removed from the cluster using the RemoveNodeState API."
+ }
+ ]
+ }
+ },
+ "PartitionIdOptionalQueryParam": {
+ "name": "PartitionId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "uuid",
+ "required": false,
+ "description": "The identity of the partition."
+ },
+ "PartitionIdRequiredPathParam": {
+ "name": "partitionId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "format": "uuid",
+ "required": true,
+ "description": "The identity of the partition."
+ },
+ "ProvisionFabricDescriptionRequiredBodyParam": {
+ "name": "ProvisionFabricDescription",
+ "in": "body",
+ "description": "Describes the parameters for provisioning a cluster.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ProvisionFabricDescription"
+ }
+ },
+ "UnprovisionFabricDescriptionRequiredBodyParam": {
+ "name": "UnprovisionFabricDescription",
+ "in": "body",
+ "description": "Describes the parameters for unprovisioning a cluster.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/UnprovisionFabricDescription"
+ }
+ },
+ "ResumeClusterUpgradeDescriptionRequiredBodyParam": {
+ "name": "ResumeClusterUpgradeDescription",
+ "in": "body",
+ "description": "Describes the parameters for resuming a cluster upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ResumeClusterUpgradeDescription"
+ }
+ },
+ "UpdateClusterUpgradeDescriptionRequiredBodyParam": {
+ "name": "UpdateClusterUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for updating a cluster upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/UpdateClusterUpgradeDescription"
+ }
+ },
+ "StartClusterUpgradeDescriptionRequiredBodyParam": {
+ "name": "StartClusterUpgradeDescription",
+ "in": "body",
+ "description": "Describes the parameters for starting a cluster upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/StartClusterUpgradeDescription"
+ }
+ },
+ "ReplicaHealthReportServiceKindRequiredQueryParam": {
+ "name": "ServiceKind",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "The kind of service replica (Stateless or Stateful) for which the health is being reported. Following are the possible values.",
+ "type": "string",
+ "enum": [
+ "Stateless",
+ "Stateful"
+ ],
+ "default": "Stateful",
+ "x-ms-enum": {
+ "name": "ReplicaHealthReportServiceKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Stateless",
+ "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 1"
+ },
+ {
+ "value": "Stateful",
+ "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 2."
+ }
+ ]
+ }
+ },
+ "ReplicaIdRequiredPathParam": {
+ "name": "replicaId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identifier of the replica."
+ },
+ "ReplicasHealthStateFilerOptionalQueryParam": {
+ "name": "ReplicasHealthStateFilter",
+ "description": "Allows filtering the collection of ReplicaHealthState objects on the partition. The value can be obtained from members or bitwise operations on members of HealthStateFilter. Only replicas that match the filter will be returned. All replicas will be used to evaluate the aggregated health state. If not specified, all entries will be returned.The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator. For example, If the provided value is 6 then all of the events with HealthState value of OK (2) and Warning (4) will be returned. The possible values for this parameter include integer value of one of the following health states.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "ServiceIdRequiredPathParam": {
+ "name": "serviceId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the service. This ID is typically the full name of the service without the 'fabric:' URI scheme.\nStarting from version 6.0, hierarchical names are delimited with the \"~\" character.\nFor example, if the service name is \"fabric:/myapp/app1/svc1\", the service identity would be \"myapp~app1~svc1\" in 6.0+ and \"myapp/app1/svc1\" in previous versions."
+ },
+ "ServiceManifestNameOptionalQueryParam": {
+ "name": "ServiceManifestName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "ServiceManifestNameRequiredQueryParam": {
+ "name": "ServiceManifestName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of a service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "ServicePackageNameRequiredPathParam": {
+ "name": "servicePackageName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The name of the service package."
+ },
+ "ServicesHealthStateFilterOptionalQueryParam": {
+ "name": "ServicesHealthStateFilter",
+ "description": "Allows filtering of the services health state objects returned in the result of services health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly services that match the filter are returned. All services are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these values,\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of services with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "CreateServiceFromTemplateRequiredBodyParam": {
+ "name": "ServiceFromTemplateDescription",
+ "in": "body",
+ "description": "Describes the service that needs to be created from the template defined in the application manifest.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ServiceFromTemplateDescription"
+ }
+ },
+ "ServiceTypeNameOptionalQueryParam": {
+ "name": "ServiceTypeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The service type name used to filter the services to query for."
+ },
+ "InfrastructureCommandRequiredQueryParam": {
+ "name": "Command",
+ "description": "The text of the command to be invoked. The content of the command is infrastructure-specific.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "InfrastructureServiceIdOptionalQueryParam": {
+ "name": "ServiceId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "description": "The identity of the infrastructure service. This is the full name of the infrastructure service without the 'fabric:' URI scheme. This parameter required only for the cluster that has more than one instance of infrastructure service running.",
+ "required": false
+ },
+ "ForceRemoveOptionalQueryParam": {
+ "name": "ForceRemove",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas."
+ },
+ "ForceRemoveReplicaOptionalQueryParam": {
+ "name": "ForceRemove",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Remove a Service Fabric application or service forcefully without going through the graceful shutdown sequence. This parameter can be used to forcefully delete an application or service for which delete is timing out due to issues in the service code that prevents graceful close of replicas."
+ },
+ "DeactivationIntentDescriptionRequiredBodyParam": {
+ "name": "DeactivationIntentDescription",
+ "in": "body",
+ "description": "Describes the intent or reason for deactivating the node.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DeactivationIntentDescription"
+ }
+ },
+ "RestartNodeDescriptionRequiredBodyParam": {
+ "name": "RestartNodeDescription",
+ "in": "body",
+ "description": "The instance of the node to be restarted and a flag indicating the need to take dump of the fabric process.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RestartNodeDescription"
+ }
+ },
+ "ApplicationUpgradeDescriptionRequiredBodyParam": {
+ "name": "ApplicationUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for an application upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpgradeDescription"
+ }
+ },
+ "ComposeDeploymentUpgradeDescriptionRequiredBodyParam": {
+ "name": "ComposeDeploymentUpgradeDescription",
+ "in": "body",
+ "description": "Parameters for upgrading compose deployment.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ComposeDeploymentUpgradeDescription"
+ }
+ },
+ "ApplicationTypeImageStorePathRequiredBodyParam": {
+ "name": "ApplicationTypeImageStorePath",
+ "in": "body",
+ "description": "The relative path for the application package in the image store specified during the prior copy operation.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationTypeImageStorePath"
+ }
+ },
+ "UnprovisionApplicationTypeRequiredBodyParam": {
+ "name": "UnprovisionApplicationTypeDescriptionInfo",
+ "in": "body",
+ "description": "The relative path for the application package in the image store specified during the prior copy operation.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/UnprovisionApplicationTypeDescriptionInfo"
+ }
+ },
+ "UpgradeOrchestrationServiceStateRequiredBodyParam": {
+ "name": "UpgradeOrchestrationServiceState",
+ "in": "body",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "description": "Service state of Service Fabric Upgrade Orchestration Service.",
+ "schema": {
+ "$ref": "#/definitions/UpgradeOrchestrationServiceState"
+ }
+ },
+ "ChaosParametersRequiredBodyParam": {
+ "name": "ChaosParameters",
+ "in": "body",
+ "description": "Describes all the parameters to configure a Chaos run.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ChaosParameters"
+ }
+ },
+ "StartTimeUtcOptionalQueryParam": {
+ "name": "StartTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The Windows file time representing the start time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details."
+ },
+ "EndTimeUtcOptionalQueryParam": {
+ "name": "EndTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The Windows file time representing the end time of the time range for which a Chaos report is to be generated. Consult [DateTime.ToFileTimeUtc Method](https://msdn.microsoft.com/library/system.datetime.tofiletimeutc(v=vs.110).aspx) for details."
+ },
+ "ApplicationNameRequiredQueryParam": {
+ "name": "ApplicationName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of application to create from compose file. This is typically the full name of the application including 'fabric:' URI scheme."
+ },
+ "CreateComposeDeploymentRequiredBodyParam": {
+ "name": "CreateComposeDeploymentDescription",
+ "in": "body",
+ "description": "Describes the compose deployment that needs to be created.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/CreateComposeDeploymentDescription"
+ }
+ },
+ "PasswordEncryptedOptionalQueryParam": {
+ "name": "PasswordEncrypted",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Indicates that supplied container repository password is encrypted."
+ },
+ "RepositoryPasswordOptionalQueryParam": {
+ "name": "RepositoryPassword",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The password for supplied username to connect to container repository."
+ },
+ "RepositoryUserNameOptionalQueryParam": {
+ "name": "RepositoryUserName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The user name to connect to container repository."
+ },
+ "MaxResultsOptionalQueryParam": {
+ "name": "MaxResults",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "format": "int64",
+ "minimum": 0,
+ "default": 0,
+ "required": false,
+ "description": "The maximum number of results to be returned as part of the paged queries. This parameter defines the upper bound on the number of results returned. The results returned can be less than the specified maximum results if they do not fit in the message as per the max message size restrictions defined in the configuration. If this parameter is zero or not specified, the paged query includes as many results as possible that fit in the return message."
+ },
+ "ApplicationDescriptionRequiredBodyParam": {
+ "name": "ApplicationDescription",
+ "in": "body",
+ "description": "Description for creating an application.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDescription"
+ }
+ },
+ "ServiceDescriptionRequiredBodyParam": {
+ "name": "ServiceDescription",
+ "in": "body",
+ "description": "The information necessary to create a service.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ServiceDescription"
+ }
+ },
+ "ServiceUpdateDescriptionRequiredBodyParam": {
+ "name": "ServiceUpdateDescription",
+ "in": "body",
+ "description": "The information necessary to update a service.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ServiceUpdateDescription"
+ }
+ },
+ "ImageStoreCopyDescriptionRequiredBodyParam": {
+ "name": "ImageStoreCopyDescription",
+ "in": "body",
+ "description": "Describes the copy description for the image store.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ImageStoreCopyDescription"
+ }
+ },
+ "CodePackageNameOptionalQueryParam": {
+ "name": "CodePackageName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of code package specified in service manifest registered as part of an application type in a Service Fabric cluster."
+ },
+ "RestartDeployedCodePackageRequiredBodyParam": {
+ "name": "RestartDeployedCodePackageDescription",
+ "in": "body",
+ "description": "Describes the deployed code package on Service Fabric node to restart.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RestartDeployedCodePackageDescription"
+ }
+ },
+ "PartitionsHealthStateFilterOptionalQueryParam": {
+ "name": "PartitionsHealthStateFilter",
+ "description": "Allows filtering of the partitions health state objects returned in the result of service health query based on their health state.\nThe possible values for this parameter include integer value of one of the following health states.\nOnly partitions that match the filter are returned. All partitions are used to evaluate the aggregated health state.\nIf not specified, all entries are returned. The state values are flag-based enumeration, so the value could be a combination of these value\nobtained using bitwise 'OR' operator. For example, if the provided value is 6 then health state of partitions with HealthState value of OK (2) and Warning (4) will be returned.\n\n- Default - Default value. Matches any HealthState. The value is zero.\n- None - Filter that doesn't match any HealthState value. Used in order to return no results on a given collection of states. The value is 1.\n- Ok - Filter that matches input with HealthState value Ok. The value is 2.\n- Warning - Filter that matches input with HealthState value Warning. The value is 4.\n- Error - Filter that matches input with HealthState value Error. The value is 8.\n- All - Filter that matches input with any HealthState value. The value is 65535.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 0
+ },
+ "DeployedServiceType_ServiceManifestNameOptionalQueryParam": {
+ "name": "ServiceManifestName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of the service manifest to filter the list of deployed service type information. If specified, the response will only contain the information about service types that are defined in this service manifest."
+ },
+ "ServiceTypeNameRequiredPathParam": {
+ "name": "serviceTypeName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "Specifies the name of a Service Fabric service type."
+ },
+ "ImageStoreContentPathRequiredPathParam": {
+ "name": "contentPath",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "Relative path to file or folder in the image store from its root."
+ },
+ "PartitionKeyTypeOptionalQueryParam": {
+ "name": "PartitionKeyType",
+ "description": "Key type for the partition. This parameter is required if the partition scheme for the service is Int64Range or Named. The possible values are following.\n- None (1) - Indicates that the PartitionKeyValue parameter is not specified. This is valid for the partitions with partitioning scheme as Singleton. This is the default value. The value is 1.\n- Int64Range (2) - Indicates that the PartitionKeyValue parameter is an int64 partition key. This is valid for the partitions with partitioning scheme as Int64Range. The value is 2.\n- Named (3) - Indicates that the PartitionKeyValue parameter is a name of the partition. This is valid for the partitions with partitioning scheme as Named. The value is 3.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false
+ },
+ "PartitionKeyValueOptionalQueryParam": {
+ "name": "PartitionKeyValue",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": false,
+ "description": "Partition key. This is required if the partition scheme for the service is Int64Range or Named. \nThis is not the partition ID, but rather, either the integer key value, or the name of the partition ID.\nFor example, if your service is using ranged partitions from 0 to 10, then they PartitionKeyValue would be an\ninteger in that range. Query service description to see the range or name."
+ },
+ "PreviousRspVersionOptionalQueryParam": {
+ "name": "PreviousRspVersion",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": false,
+ "description": "The value in the Version field of the response that was received previously. This is required if the user knows that the result that was gotten previously is stale."
+ },
+ "DataLossModeRequiredQueryParam": {
+ "name": "DataLossMode",
+ "description": "This enum is passed to the StartDataLoss API to indicate what type of data loss to induce.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "PartialDataLoss",
+ "FullDataLoss"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "DataLossMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "PartialDataLoss",
+ "description": "PartialDataLoss option will cause a quorum of replicas to go down, triggering an OnDataLoss event in the system for the given partition."
+ },
+ {
+ "value": "FullDataLoss",
+ "description": "FullDataLoss option will drop all the replicas which means that all the data will be lost."
+ }
+ ]
+ }
+ },
+ "FaultOperationIdRequiredQueryParam": {
+ "name": "OperationId",
+ "description": "A GUID that identifies a call of this API. This is passed into the corresponding GetProgress API",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "uuid",
+ "required": true
+ },
+ "ForceRequiredQueryParam": {
+ "name": "Force",
+ "description": "Indicates whether to gracefully roll back and clean up internal system state modified by executing the user-induced operation.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": true,
+ "default": false
+ },
+ "NodeInstanceIdRequiredQueryParam": {
+ "name": "NodeInstanceId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The node instance ID of the target node. This can be determined through GetNodeInfo API."
+ },
+ "NodeTransitionTypeRequiredQueryParam": {
+ "name": "NodeTransitionType",
+ "description": "Indicates the type of transition to perform. NodeTransitionType.Start will start a stopped node. NodeTransitionType.Stop will stop a node that is up.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Start",
+ "Stop"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "NodeTransitionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "Start",
+ "description": "Transition a stopped node to up."
+ },
+ {
+ "value": "Stop",
+ "description": "Transition an up node to stopped."
+ }
+ ]
+ }
+ },
+ "QuorumLossDurationRequiredQueryParam": {
+ "name": "QuorumLossDuration",
+ "description": "The amount of time for which the partition will be kept in quorum loss. This must be specified in seconds.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": true
+ },
+ "QuorumLossModeRequiredQueryParam": {
+ "name": "QuorumLossMode",
+ "description": "This enum is passed to the StartQuorumLoss API to indicate what type of quorum loss to induce.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "QuorumReplicas",
+ "AllReplicas"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "QuorumLossMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "QuorumReplicas",
+ "description": "Partial Quorum loss mode : Minimum number of replicas for a partition will be down that will cause a quorum loss."
+ },
+ {
+ "value": "AllReplicas"
+ }
+ ]
+ }
+ },
+ "RestartPartitionModeRequiredQueryParam": {
+ "name": "RestartPartitionMode",
+ "description": "Describe which partitions to restart.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AllReplicasOrInstances",
+ "OnlyActiveSecondaries"
+ ],
+ "required": true,
+ "x-ms-enum": {
+ "name": "RestartPartitionMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "Reserved. Do not pass into API."
+ },
+ {
+ "value": "AllReplicasOrInstances",
+ "description": "All replicas or instances in the partition are restarted at once."
+ },
+ {
+ "value": "OnlyActiveSecondaries",
+ "description": "Only the secondary replicas are restarted."
+ }
+ ]
+ }
+ },
+ "StateFilterRequiredQueryParam": {
+ "name": "StateFilter",
+ "description": "Used to filter on OperationState's for user-induced operations.\n\n- 65535 - select All\n- 1 - select Running\n- 2 - select RollingBack\n- 8 - select Completed\n- 16 - select Faulted\n- 32 - select Cancelled\n- 64 - select ForceCancelled",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": true,
+ "default": 65535
+ },
+ "StopDurationInSecondsRequiredQueryParam": {
+ "name": "StopDurationInSeconds",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "required": true,
+ "description": "The duration, in seconds, to keep the node stopped. The minimum value is 600, the maximum is 14400. After this time expires, the node will automatically come back up."
+ },
+ "TypeFilterRequiredQueryParam": {
+ "name": "TypeFilter",
+ "description": "Used to filter on OperationType for user-induced operations.\n\n- 65535 - select all\n- 1 - select PartitionDataLoss.\n- 2 - select PartitionQuorumLoss.\n- 4 - select PartitionRestart.\n- 8 - select NodeTransition.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": true,
+ "default": 65535
+ },
+ "DeployServicePackageToNodeRequiredBodyParam": {
+ "name": "DeployServicePackageToNodeDescription",
+ "in": "body",
+ "description": "Describes information for deploying a service package to a Service Fabric node.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DeployServicePackageToNodeDescription"
+ }
+ },
+ "ResumeApplicationUpgradeDescriptionRequiredBodyParam": {
+ "name": "ResumeApplicationUpgradeDescription",
+ "in": "body",
+ "description": "Describes the parameters for resuming an application upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ResumeApplicationUpgradeDescription"
+ }
+ },
+ "ApplicationUpgradeUpdateDescriptionRequiredBodyParam": {
+ "name": "ApplicationUpgradeUpdateDescription",
+ "in": "body",
+ "description": "Parameters for updating an existing application upgrade.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationUpgradeUpdateDescription"
+ }
+ },
+ "TimeoutOptionalQueryParam": {
+ "name": "timeout",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "format": "int64",
+ "required": false,
+ "minimum": 1,
+ "maximum": 4294967295,
+ "default": 60,
+ "description": "The server timeout for performing the operation in seconds. This timeout specifies the time duration that the client is willing to wait for the requested operation to complete. The default value for this parameter is 60 seconds."
+ },
+ "NameDescriptionRequiredBodyParam": {
+ "name": "NameDescription",
+ "in": "body",
+ "description": "Describes the Service Fabric name to be created.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/NameDescription"
+ }
+ },
+ "NameIdRequiredPathParam": {
+ "name": "nameId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The Service Fabric name, without the 'fabric:' URI scheme."
+ },
+ "RecursiveOptionalQueryParam": {
+ "name": "Recursive",
+ "description": "Allows specifying that the search performed should be recursive.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "IncludeValuesOptionalQueryParam": {
+ "name": "IncludeValues",
+ "description": "Allows specifying whether to include the values of the properties returned. True if values should be returned with the metadata; False to return only property metadata.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "PropertyDescriptionRequiredBodyParam": {
+ "name": "PropertyDescription",
+ "in": "body",
+ "description": "Describes the Service Fabric property to be created.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/PropertyDescription"
+ }
+ },
+ "PropertyNameRequiredQueryParam": {
+ "name": "PropertyName",
+ "description": "Specifies the name of the property to get.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
+ "PropertyBatchDescriptionListRequiredBodyParam": {
+ "name": "PropertyBatchDescriptionList",
+ "in": "body",
+ "description": "Describes the property batch operations to be submitted.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/PropertyBatchDescriptionList"
+ }
+ },
+ "ImmediateOptionalQueryParam": {
+ "name": "Immediate",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "A flag that indicates whether the report should be sent immediately.\nA health report is sent to a Service Fabric gateway Application, which forwards to the health store.\nIf Immediate is set to true, the report is sent immediately from HTTP Gateway to the health store, regardless of the fabric client settings that the HTTP Gateway Application is using.\nThis is useful for critical reports that should be sent as soon as possible.\nDepending on timing and other conditions, sending the report may still fail, for example if the HTTP Gateway is closed or the message doesn't reach the Gateway.\nIf Immediate is set to false, the report is sent based on the health client settings from the HTTP Gateway. Therefore, it will be batched according to the HealthReportSendInterval configuration.\nThis is the recommended setting because it allows the health client to optimize health reporting messages to health store as well as health report processing.\nBy default, reports are not sent immediately."
+ },
+ "ExcludeHealthStatisticsOptionalQueryParam": {
+ "name": "ExcludeHealthStatistics",
+ "description": "Indicates whether the health statistics should be returned as part of the query result. False by default.\nThe statistics show the number of children entities in health state Ok, Warning, and Error.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "IncludeSystemApplicationHealthStatisticsOptionalQueryParam": {
+ "name": "IncludeSystemApplicationHealthStatistics",
+ "description": "Indicates whether the health statistics should include the fabric:/System application health statistics. False by default.\nIf IncludeSystemApplicationHealthStatistics is set to true, the health statistics include the entities that belong to the fabric:/System application.\nOtherwise, the query result includes health statistics only for user applications.\nThe health statistics must be included in the query result for this parameter to be applied.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "IncludeHealthStateOptionalQueryParam": {
+ "name": "IncludeHealthState",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "Include the health state of an entity.\nIf this parameter is false or not specified, then the health state returned is \"Unknown\".\nWhen set to true, the query goes in parallel to the node and the health system service before the results are merged.\nAs a result, the query is more expensive and may take a longer time."
+ },
+ "BackupPolicyDescriptionRequiredBodyParam": {
+ "name": "BackupPolicyDescription",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "Describes the backup policy.",
+ "schema": {
+ "$ref": "#/definitions/BackupPolicyDescription"
+ }
+ },
+ "DisableBackupDescriptionOptionalBodyParam": {
+ "name": "DisableBackupDescription",
+ "in": "body",
+ "description": "Specifies the parameters to disable backup for any backup entity.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/DisableBackupDescription"
+ }
+ },
+ "BackupPolicyNameRequiredPathParam": {
+ "name": "backupPolicyName",
+ "in": "path",
+ "description": "The name of the backup policy.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "EnableBackupDescriptionRequiredBodyParam": {
+ "name": "EnableBackupDescription",
+ "in": "body",
+ "description": "Specifies the parameters for enabling backup.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/EnableBackupDescription"
+ }
+ },
+ "RestorePartitionDescriptionRequiredBodyParam": {
+ "name": "RestorePartitionDescription",
+ "in": "body",
+ "description": "Describes the parameters to restore the partition.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RestorePartitionDescription"
+ }
+ },
+ "RestoreTimeoutOptionalQueryParam": {
+ "name": "RestoreTimeout",
+ "description": "Specifies the maximum amount of time to wait, in minutes, for the restore operation to complete. Post that, the operation returns back with timeout error. However, in certain corner cases it could be that the restore operation goes through even though it completes with timeout. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. the default value for the same is 10 minutes.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "default": 10
+ },
+ "BackupPartitionDescriptionOptionalBodyParam": {
+ "name": "BackupPartitionDescription",
+ "in": "body",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "Describes the parameters to backup the partition now. If not present, backup operation uses default parameters from the backup policy current associated with this partition.",
+ "schema": {
+ "$ref": "#/definitions/BackupPartitionDescription"
+ }
+ },
+ "BackupTimeoutOptionalQueryParam": {
+ "name": "BackupTimeout",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false,
+ "description": "Specifies the maximum amount of time, in minutes, to wait for the backup operation to complete. Post that, the operation completes with timeout error. However, in certain corner cases it could be that though the operation returns back timeout, the backup actually goes through. In case of timeout error, its recommended to invoke this operation again with a greater timeout value. The default value for the same is 10 minutes.",
+ "default": 10
+ },
+ "LatestOptionalQueryParam": {
+ "name": "Latest",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "description": "Specifies whether to get only the most recent backup available for a partition for the specified time range.",
+ "required": false,
+ "default": false
+ },
+ "StartDateTimeFilterOptionalQueryParam": {
+ "name": "StartDateTimeFilter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "date-time",
+ "required": false,
+ "description": "Specify the start date time from which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, all backups from the beginning are enumerated."
+ },
+ "EndDateTimeFilterOptionalQueryParam": {
+ "name": "EndDateTimeFilter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "date-time",
+ "required": false,
+ "description": "Specify the end date time till which to enumerate backups, in datetime format. The date time must be specified in ISO8601 format. This is an optional parameter. If not specified, enumeration is done till the most recent backup."
+ },
+ "GetBackupByStorageQueryDescriptionRequiredBodyParam": {
+ "name": "GetBackupByStorageQueryDescription",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "Describes the filters and backup storage details to be used for enumerating backups.",
+ "schema": {
+ "$ref": "#/definitions/GetBackupByStorageQueryDescription"
+ }
+ },
+ "RepairTaskApproveDescriptionRequiredBodyParam": {
+ "name": "RepairTaskApproveDescription",
+ "in": "body",
+ "description": "Describes the repair task to be approved.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskApproveDescription"
+ }
+ },
+ "RepairTaskCancelDescriptionRequiredBodyParam": {
+ "name": "RepairTaskCancelDescription",
+ "in": "body",
+ "description": "Describes the repair task to be cancelled.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskCancelDescription"
+ }
+ },
+ "RepairTaskDeleteDescriptionRequiredBodyParam": {
+ "name": "RepairTaskDeleteDescription",
+ "in": "body",
+ "description": "Describes the repair task to be deleted.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTaskDeleteDescription"
+ }
+ },
+ "RepairTaskExecutorFilterOptionalQueryParam": {
+ "name": "ExecutorFilter",
+ "description": "The name of the repair executor whose claimed tasks should be included in the list.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false
+ },
+ "RepairTaskIdFilterOptionalQueryParam": {
+ "name": "TaskIdFilter",
+ "description": "The repair task ID prefix to be matched.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false
+ },
+ "RepairTaskRequiredBodyParam": {
+ "name": "RepairTask",
+ "in": "body",
+ "description": "Describes the repair task to be created or updated.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/RepairTask"
+ }
+ },
+ "RepairTaskStateFilterOptionalQueryParam": {
+ "name": "StateFilter",
+ "description": "A bitwise-OR of the following values, specifying which task states should be included in the result list.\n\n- 1 - Created\n- 2 - Claimed\n- 4 - Preparing\n- 8 - Approved\n- 16 - Executing\n- 32 - Restoring\n- 64 - Completed",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false
+ },
+ "RepairTaskUpdateHealthPolicyDescriptionRequiredBodyParam": {
+ "name": "RepairTaskUpdateHealthPolicyDescription",
+ "in": "body",
+ "description": "Describes the repair task healthy policy to be updated.",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RepairTaskUpdateHealthPolicyDescription"
+ }
+ },
+ "UploadSessionIdRequiredQueryParam": {
+ "name": "session-id",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "format": "uuid",
+ "required": true,
+ "description": "A GUID generated by the user for a file uploading. It identifies an image store upload session which keeps track of all file chunks until it is committed."
+ },
+ "UploadFileChunkContentRangeHeaderParam": {
+ "name": "Content-Range",
+ "in": "header",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "When uploading file chunks to the image store, the Content-Range header field need to be configured and sent with a request. The format should looks like \"bytes {First-Byte-Position}-{Last-Byte-Position}/{File-Length}\". For example, Content-Range:bytes 300-5000/20000 indicates that user is sending bytes 300 through 5,000 and the total file length is 20,000 bytes."
+ },
+ "ChaosScheduleRequiredBodyParam": {
+ "name": "ChaosSchedule",
+ "in": "body",
+ "description": "Describes the schedule used by Chaos.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ChaosScheduleDescription"
+ }
+ },
+ "StartTimeUtcRequiredQueryParam": {
+ "name": "StartTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The start time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ."
+ },
+ "EndTimeUtcRequiredQueryParam": {
+ "name": "EndTimeUtc",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The end time of a lookup query in ISO UTC yyyy-MM-ddTHH:mm:ssZ."
+ },
+ "EventsTypesFilterOptionalQueryParam": {
+ "name": "EventsTypesFilter",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "This is a comma separated string specifying the types of FabricEvents that should only be included in the response."
+ },
+ "ExcludeAnalysisEventsOptionalQueryParam": {
+ "name": "ExcludeAnalysisEvents",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "This param disables the retrieval of AnalysisEvents if true is passed."
+ },
+ "SkipCorrelationLookupOptionalQueryParam": {
+ "name": "SkipCorrelationLookup",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "This param disables the search of CorrelatedEvents information if true is passed. otherwise the CorrelationEvents get processed and HasCorrelatedEvents field in every FabricEvent gets populated."
+ },
+ "EventInstanceIdRequiredPathParam": {
+ "name": "eventInstanceId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The EventInstanceId."
+ },
+ "PreviousOptionalQueryParam": {
+ "name": "Previous",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "description": "Specifies whether to get container logs from exited/dead containers of the code package instance.",
+ "required": false,
+ "default": false
+ },
+ "IgnoreConstraintsOptionalParam": {
+ "name": "IgnoreConstraints",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false,
+ "description": "Ignore constraints when moving a replica. If this parameter is not specified, all constraints are honored."
+ },
+ "NodeNameOptionalParam": {
+ "name": "NodeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of the node."
+ },
+ "VerboseServicePlacementHealthReportingParam": {
+ "name": "Enabled",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": true,
+ "description": "The verbosity of service placement health reporting."
+ },
+ "NewNodeNameOptionalParam": {
+ "name": "NewNodeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false,
+ "description": "The name of the target node for secondary replica move. If not specified, replica is moved to a random node."
+ },
+ "CurrentNodeNameRequiredParam": {
+ "name": "CurrentNodeName",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true,
+ "description": "The name of the source node for secondary replica move."
+ },
+ "OnlyQueryPrimariesOptionalQueryParam": {
+ "name": "OnlyQueryPrimaries",
+ "description": "Indicates that unplaced replica information will be queries only for primary replicas.",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "default": false
+ },
+ "ForceConfigurationOverrideOptionalParam": {
+ "name": "Force",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "type": "boolean",
+ "required": false,
+ "description": "Force adding configuration overrides on specified nodes."
+ },
+ "ConfigurationOverrideListRequiredParam": {
+ "name": "ConfigParameterOverrideList",
+ "in": "body",
+ "description": "Description for adding list of configuration overrides.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ConfigParameterOverrideList"
+ }
+ },
+ "SecretResourceDescriptionRequiredBodyParam": {
+ "name": "secretResourceDescription",
+ "in": "body",
+ "description": "Description for creating a secret resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/SecretResourceDescription"
+ }
+ },
+ "SecretResourceNameRequiredPathParam": {
+ "name": "secretResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The name of the secret resource."
+ },
+ "SecretValueResourceDescriptionRequiredBodyParam": {
+ "name": "secretValueResourceDescription",
+ "in": "body",
+ "description": "Description for creating a value of a secret resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/SecretValueResourceDescription"
+ }
+ },
+ "SecretValueResourceNameRequiredPathParam": {
+ "name": "secretValueResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The name of the secret resource value which is typically the version identifier for the value."
+ },
+ "VolumeResourceDescriptionRequiredBodyParam": {
+ "name": "volumeResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Volume resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/VolumeResourceDescription"
+ }
+ },
+ "VolumeResourceNameRequiredPathParam": {
+ "name": "volumeResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the volume."
+ },
+ "NetworkResourceDescriptionRequiredBodyParam": {
+ "name": "networkResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Network resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/NetworkResourceDescription"
+ }
+ },
+ "NetworkResourceNameRequiredPathParam": {
+ "name": "networkResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the network."
+ },
+ "ApplicationResourceDescriptionRequiredBodyParam": {
+ "name": "applicationResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Application resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/ApplicationResourceDescription"
+ }
+ },
+ "ApplicationResourceNameRequiredPathParam": {
+ "name": "applicationResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the application."
+ },
+ "ServiceResourceNameRequiredPathParam": {
+ "name": "serviceResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the service."
+ },
+ "ReplicaNameRequiredPathParam": {
+ "name": "replicaName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "Service Fabric replica name."
+ },
+ "GatewayResourceDescriptionRequiredBodyParam": {
+ "name": "gatewayResourceDescription",
+ "in": "body",
+ "description": "Description for creating a Gateway resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/GatewayResourceDescription"
+ }
+ },
+ "GatewayResourceNameRequiredPathParam": {
+ "name": "gatewayResourceName",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true,
+ "type": "string",
+ "required": true,
+ "description": "The identity of the gateway."
+ }
+ }
+}
diff --git a/specification/servicefabric/data-plane/readme.go.md b/specification/servicefabric/data-plane/readme.go.md
index 1a8e1c6e5597..e11163673d21 100644
--- a/specification/servicefabric/data-plane/readme.go.md
+++ b/specification/servicefabric/data-plane/readme.go.md
@@ -17,6 +17,7 @@ batch:
- tag: "6.3"
- tag: "6.4"
- tag: "6.5"
+ - tag: "7.0"
```
### Tag: 6.2 and go
@@ -50,4 +51,12 @@ These settings apply only when `--tag=6.5 --go` is specified on the command line
``` yaml $(tag) == '6.5' && $(go)
output-folder: $(go-sdk-folder)/services/$(namespace)/6.5/$(namespace)
+```
+
+### Tag: 7.0 and go
+
+These settings apply only when `--tag=7.0 --go` is specified on the command line.
+
+``` yaml $(tag) == '7.0' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/7.0/$(namespace)
```
\ No newline at end of file
diff --git a/specification/servicefabric/data-plane/readme.md b/specification/servicefabric/data-plane/readme.md
index 9fe8898b65d4..36eb6843dd17 100644
--- a/specification/servicefabric/data-plane/readme.md
+++ b/specification/servicefabric/data-plane/readme.md
@@ -25,7 +25,7 @@ These are the global settings for the ServiceFabricClient API.
``` yaml
openapi-type: data-plane
-tag: '6.5'
+tag: '7.0'
```
### Suppression
@@ -105,6 +105,15 @@ input-file:
```
+### Tag: 7.0
+
+These settings apply only when `--tag=7.0` is specified on the command line.
+
+``` yaml $(tag) == '7.0'
+input-file:
+- Microsoft.ServiceFabric/stable/7.0/servicefabric.json
+
+```
---
# Code Generation
@@ -158,6 +167,7 @@ input-file:
- $(this-folder)/Microsoft.ServiceFabric/stable/6.3/servicefabric.json
- $(this-folder)/Microsoft.ServiceFabric/stable/6.4/servicefabric.json
- $(this-folder)/Microsoft.ServiceFabric/stable/6.5/servicefabric.json
+ - $(this-folder)/Microsoft.ServiceFabric/stable/7.0/servicefabric.json
```
diff --git a/specification/servicefabric/data-plane/readme.python.md b/specification/servicefabric/data-plane/readme.python.md
index 08a032a5d831..ab41c8694c10 100644
--- a/specification/servicefabric/data-plane/readme.python.md
+++ b/specification/servicefabric/data-plane/readme.python.md
@@ -11,7 +11,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.servicefabric
package-name: azure-servicefabric
- package-version: 6.5.0.0
+ package-version: 7.0.0.0
add-credentials: true
clear-output-folder: true
```
diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-06-01-preview/examples/ClusterPutOperation_example_max.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-06-01-preview/examples/ClusterPutOperation_example_max.json
index 26800e01ad87..584bca876090 100644
--- a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-06-01-preview/examples/ClusterPutOperation_example_max.json
+++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2019-06-01-preview/examples/ClusterPutOperation_example_max.json
@@ -11,7 +11,7 @@
"name": "myCluster",
"tags": {},
"properties": {
- "clusterCodeVersion": "6.1.480.9494",
+ "clusterCodeVersion": "6.5.639.9590",
"managementEndpoint": "https://myCluster.eastus.cloudapp.azure.com:19080",
"certificateCommonNames": {
"commonNames": [
diff --git a/specification/servicefabric/resource-manager/readme.cli.md b/specification/servicefabric/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..a05e1835e02f
--- /dev/null
+++ b/specification/servicefabric/resource-manager/readme.cli.md
@@ -0,0 +1,42 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: servicefabric
+ package-name: azure-mgmt-servicefabric
+ namespace: azure.mgmt.servicefabric
+ test-scenario:
+ - name: Put a cluster with minimum parameters
+ - name: Put a cluster with maximum parameters
+ - name: Put an application with maximum parameters
+ - name: Put an application with minimum parameters
+ - name: Put an application type
+ - name: Put a service with minimum parameters
+ - name: Put a service with maximum parameters
+ - name: Put an application type version
+ - name: Get an application type version
+ - name: Get a service
+ - name: Get a list of application type version resources
+ - name: Get a list of service resources
+ - name: Get cluster version by environment
+ - name: Get an application type
+ - name: Get an application
+ - name: List cluster versions by environment
+ - name: Get a list of application type name resources
+ - name: Get a list of application resources
+ - name: Get cluster version
+ - name: Get a cluster
+ - name: List cluster versions
+ - name: List cluster by resource group
+ - name: List clusters
+ - name: Patch a service
+ - name: Patch an application
+ - name: Patch a cluster
+ - name: Delete an application type version
+ - name: Delete a service
+ - name: Delete an application type
+ - name: Delete an application
+ - name: Delete a cluster
+```
\ No newline at end of file
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json
index a0318a7406c3..0629b302f888 100644
--- a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json
@@ -5,7 +5,7 @@
"title": "Software Plan RP",
"description": "Azure software plans let users create and manage licenses for various software used in Azure.",
"x-ms-code-generation-settings": {
- "name": "softwareplanClient"
+ "name": "SoftwareplanClient"
}
},
"host": "management.azure.com",
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/DeleteHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/DeleteHybridUseBenefit.json
new file mode 100644
index 000000000000..eb57b2bf393c
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/DeleteHybridUseBenefit.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "planId": "94f46eda-45f8-493a-8425-251921463a89",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetAllHybridUseBenefits.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetAllHybridUseBenefits.json
new file mode 100644
index 000000000000..5959284070b8
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetAllHybridUseBenefits.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "api-version": "2019-12-01",
+ "$filter": "SQL_Server_EE_AHB"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/SQL_hostGroup_hostName",
+ "name": "SQL_hostGroup_hostName",
+ "type": "Microsoft.SoftwarePlans/hybridUseBenefits",
+ "sku": {
+ "name": "SQL_Server_EE_AHB"
+ },
+ "etag": 1,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdDate": "2019-06-05T21:50:07.846Z",
+ "lastUpdatedDate": "2019-06-05T21:50:07.846Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetHybridUseBenefitRevisions.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetHybridUseBenefitRevisions.json
new file mode 100644
index 000000000000..67dce019e227
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetHybridUseBenefitRevisions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "planId": "94f46eda-45f8-493a-8425-251921463a89",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/SQL_{hostGroupName}_{hostName}",
+ "name": "SQL_{hostGroupName}_{hostName}",
+ "type": "Microsoft.SoftwarePlans/hybridUseBenefits",
+ "sku": {
+ "name": "SQL_Server_EE_AHB"
+ },
+ "etag": 1,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdDate": "2019-06-05T21:50:07.846Z",
+ "lastUpdatedDate": "2019-06-05T21:50:07.846Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetOperations.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetOperations.json
new file mode 100644
index 000000000000..0e122e870b66
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetOperations.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.SoftwarePlan/hybridUseBenefits/read",
+ "display": {
+ "provider": "Microsoft Software Plan",
+ "resource": "hybridUseBenefits",
+ "operation": "Get hybrid use benefit",
+ "description": "Read all hybrid use benefits"
+ }
+ },
+ {
+ "name": "Microsoft.SoftwarePlan/hybridUseBenefits/write",
+ "display": {
+ "provider": "Microsoft Software Plan",
+ "resource": "hybridUseBenefits",
+ "operation": "Create hybrid use benefit",
+ "description": "Create a hybrid use benefit"
+ }
+ },
+ {
+ "name": "Microsoft.SoftwarePlan/hybridUseBenefits/action",
+ "display": {
+ "provider": "Microsoft Software Plan",
+ "resource": "hybridUseBenefits",
+ "operation": "Update hybrid use benefit",
+ "description": "Update a hybrid use benefit"
+ }
+ },
+ {
+ "name": "Microsoft.SoftwarePlan/hybridUseBenefits/delete",
+ "display": {
+ "provider": "Microsoft Software Plan",
+ "resource": "hybridUseBenefits",
+ "operation": "Delete hybrid use benefit",
+ "description": "Delete a hybrid use benefit"
+ }
+ },
+ {
+ "name": "Microsoft.SoftwarePlan/hybridUseBenefits/revisions/read",
+ "display": {
+ "provider": "Microsoft Software Plan",
+ "resource": "hybridUseBenefits",
+ "operation": "Get hybrid use benefit",
+ "description": "Read all hybrid use benefit revisions"
+ }
+ },
+ {
+ "name": "Microsoft.SoftwarePlan/register/action",
+ "display": {
+ "provider": "Microsoft Software Plan",
+ "resource": "SoftwarePlan",
+ "operation": "Registers the SoftwarePlan Resource Provider.",
+ "description": "Registers the SoftwarePlan resource provider and enables the creation of SoftwarePlan resources."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetSingleHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetSingleHybridUseBenefit.json
new file mode 100644
index 000000000000..b2d36fc80af1
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/GetSingleHybridUseBenefit.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "planId": "94f46eda-45f8-493a-8425-251921463a89",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/SQL_{hostGroupName}_{hostName}",
+ "name": "SQL_{hostGroupName}_{hostName}",
+ "type": "Microsoft.SoftwarePlans/hybridUseBenefits",
+ "sku": {
+ "name": "SQL_Server_EE_AHB"
+ },
+ "etag": 1,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdDate": "2019-06-05T21:50:07.846Z",
+ "lastUpdatedDate": "2019-06-05T21:50:07.846Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/PatchHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/PatchHybridUseBenefit.json
new file mode 100644
index 000000000000..6dcc643540ed
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/PatchHybridUseBenefit.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "planId": "94f46eda-45f8-493a-8425-251921463a89",
+ "api-version": "2019-12-01",
+ "body": {
+ "type": "Microsoft.SoftwarePlan/hybridUseBenefits",
+ "sku": {
+ "name": "SQLBYOLStandardForADH"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/SQL_{hostGroupName}_{hostName}",
+ "name": "SQL_{hostGroupName}_{hostName}",
+ "type": "Microsoft.SoftwarePlans/hybridUseBenefits",
+ "sku": {
+ "name": "SQLBYOLStandardForADH"
+ },
+ "etag": 1,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdDate": "2019-06-05T21:50:07.846Z",
+ "lastUpdatedDate": "2019-06-05T21:50:07.846Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/PutHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/PutHybridUseBenefit.json
new file mode 100644
index 000000000000..95d8d8303acd
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/PutHybridUseBenefit.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}",
+ "planId": "94f46eda-45f8-493a-8425-251921463a89",
+ "api-version": "2019-12-01",
+ "body": {
+ "type": "Microsoft.SoftwarePlan/hybridUseBenefits",
+ "sku": {
+ "name": "SQL_Server_Perpetual"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/SQL_{hostGroupName}_{hostName}",
+ "name": "SQL_{hostGroupName}_{hostName}",
+ "type": "Microsoft.SoftwarePlans/hybridUseBenefits",
+ "sku": {
+ "name": "SQL_Server_Perpetual"
+ },
+ "etag": 1,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "createdDate": "2019-06-05T21:50:07.846Z",
+ "lastUpdatedDate": "2019-06-05T21:50:07.846Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/RegisterSubscription.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/RegisterSubscription.json
new file mode 100644
index 000000000000..3ce9513193d8
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/examples/RegisterSubscription.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01",
+ "subscriptionId": "98df3792-7962-4f18-8be2-d5576f122de3 "
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json
new file mode 100644
index 000000000000..dc407928a5e5
--- /dev/null
+++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json
@@ -0,0 +1,569 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-01",
+ "title": "Software Plan RP",
+ "description": "Azure software plans let users create and manage licenses for various software used in Azure.",
+ "x-ms-code-generation-settings": {
+ "name": "SoftwareplanClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.SoftwarePlan/register": {
+ "post": {
+ "description": "Register to Microsoft.SoftwarePlan resource provider.",
+ "operationId": "SoftwarePlan_Register",
+ "tags": [
+ "Software plan"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefitListResult": {
+ "$ref": "./examples/RegisterSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "OK - Microsoft.SoftwarePlan is registered"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits": {
+ "get": {
+ "description": "Get all hybrid use benefits associated with an ARM resource.",
+ "operationId": "HybridUseBenefit_List",
+ "tags": [
+ "Hybrid use benefits"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefitListResult": {
+ "$ref": "./examples/GetAllHybridUseBenefits.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Supports applying filter on the type of SKU"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - returns an array of plans at that scope",
+ "schema": {
+ "$ref": "#/definitions/HybridUseBenefitListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}": {
+ "put": {
+ "description": "Create a new hybrid use benefit under a given scope",
+ "operationId": "HybridUseBenefit_Create",
+ "tags": [
+ "Hybrid use benefit"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefit": {
+ "$ref": "./examples/PutHybridUseBenefit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PutBodyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - returns the plan that is created",
+ "schema": {
+ "$ref": "#/definitions/HybridUseBenefitModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing hybrid use benefit",
+ "operationId": "HybridUseBenefit_Update",
+ "tags": [
+ "Hybrid use benefit"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefit": {
+ "$ref": "./examples/PatchHybridUseBenefit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PutBodyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - successfully updated the given hybrid use benefit",
+ "schema": {
+ "$ref": "#/definitions/HybridUseBenefitModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "description": "Gets a given plan ID",
+ "operationId": "HybridUseBenefit_Get",
+ "tags": [
+ "Hybrid use benefit"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefit": {
+ "$ref": "./examples/GetSingleHybridUseBenefit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - returns the plan that is created",
+ "schema": {
+ "$ref": "#/definitions/HybridUseBenefitModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes a given plan ID",
+ "operationId": "HybridUseBenefit_Delete",
+ "tags": [
+ "Hybrid use benefit"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefit": {
+ "$ref": "./examples/DeleteHybridUseBenefit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - successfully deleted the given plan"
+ },
+ "204": {
+ "description": "OK - there was no plan to delete"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}/revisions": {
+ "get": {
+ "description": "Gets the version history of a hybrid use benefit",
+ "operationId": "HybridUseBenefitRevision_List",
+ "tags": [
+ "Hybrid use benefit revisions"
+ ],
+ "x-ms-examples": {
+ "HybridUseBenefitRevisionsResponse": {
+ "$ref": "./examples/GetHybridUseBenefitRevisions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - returns an array of plans ordered by revision",
+ "schema": {
+ "$ref": "#/definitions/HybridUseBenefitListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.SoftwarePlan/operations": {
+ "get": {
+ "summary": "Get operations.",
+ "description": "List all the operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "GetOperations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Software plan operations"
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Error": {
+ "type": "object",
+ "description": "Error object returned by the RP",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "$ref": "#/definitions/ErrorCode"
+ },
+ "message": {
+ "type": "string",
+ "description": "A user readable error message. Localized based on x-ms-effective-locale header in the request"
+ }
+ }
+ },
+ "ErrorCode": {
+ "type": "string",
+ "description": "Defined error codes to be returned to the client.",
+ "enum": [
+ "InvalidRequestParameter",
+ "MissingRequestParameter"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCode",
+ "modelAsString": true
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "description": "The SKU to be applied for this resource",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the SKU to be applied"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "description": "Represent the current state of the Reservation.",
+ "enum": [
+ "Succeeded",
+ "Cancelled",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "HybridUseBenefitListResult": {
+ "description": "List of hybrid use benefits",
+ "properties": {
+ "value": {
+ "description": "List of hybrid use benefits",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HybridUseBenefitModel"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Url to get the next page of items."
+ }
+ }
+ },
+ "HybridUseBenefitModel": {
+ "description": "Response on GET of a hybrid use benefit",
+ "required": [
+ "sku"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "description": "Hybrid use benefit SKU",
+ "$ref": "#/definitions/Sku"
+ },
+ "etag": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Indicates the revision of the hybrid use benefit",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Property bag for a hybrid use benefit response",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HybridUseBenefitProperties"
+ }
+ }
+ },
+ "HybridUseBenefitProperties": {
+ "description": "Hybrid use benefit properties",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ },
+ "createdDate": {
+ "type": "string",
+ "description": "Created date",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastUpdatedDate": {
+ "type": "string",
+ "description": "Last updated date",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationList": {
+ "type": "object",
+ "description": "List all the operations.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of all operations",
+ "items": {
+ "$ref": "#/definitions/OperationResponse"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Url to get the next page of items."
+ }
+ }
+ },
+ "OperationResponse": {
+ "type": "object",
+ "description": "Operation response.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "display": {
+ "description": "Display properties for the operation",
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "origin": {
+ "description": "Origin of the response",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "type": "object",
+ "description": "Display fields for an operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource Provider name",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource that is acted upon",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "type": "string",
+ "description": "The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now"
+ },
+ "PutBodyParameter": {
+ "name": "body",
+ "in": "body",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "description": "Request body for creating a hybrid use benefit",
+ "schema": {
+ "$ref": "#/definitions/HybridUseBenefitModel"
+ }
+ },
+ "PlanIdParameter": {
+ "name": "planId",
+ "in": "path",
+ "x-ms-parameter-location": "method",
+ "required": true,
+ "type": "string",
+ "description": "This is a unique identifier for a plan. Should be a guid."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "description": "The api-version to be used by the service",
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/softwareplan/resource-manager/readme.csharp.md b/specification/softwareplan/resource-manager/readme.csharp.md
index 08b9ce90303d..4a02b80293f8 100644
--- a/specification/softwareplan/resource-manager/readme.csharp.md
+++ b/specification/softwareplan/resource-manager/readme.csharp.md
@@ -10,6 +10,6 @@ csharp:
payload-flattening-threshold: 1
clear-output-folder: true
client-side-validation: false
- namespace: Microsoft.SoftwarePlan
- output-folder: $(csharp-sdks-folder)/softwareplan/management/Microsoft.SoftwarePlan/GeneratedProtocol
+ namespace: Microsoft.Azure.Management.SoftwarePlan
+ output-folder: $(csharp-sdks-folder)/softwareplan/Microsoft.Azure.Management.SoftwarePlan/src/Generated
```
diff --git a/specification/softwareplan/resource-manager/readme.go.md b/specification/softwareplan/resource-manager/readme.go.md
index bef5d3527255..42fff5ba2e85 100644
--- a/specification/softwareplan/resource-manager/readme.go.md
+++ b/specification/softwareplan/resource-manager/readme.go.md
@@ -17,3 +17,12 @@ Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-12-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace)
+```
diff --git a/specification/softwareplan/resource-manager/readme.md b/specification/softwareplan/resource-manager/readme.md
index a10b52f0105f..6fc4969b1f81 100644
--- a/specification/softwareplan/resource-manager/readme.md
+++ b/specification/softwareplan/resource-manager/readme.md
@@ -38,6 +38,20 @@ input-file:
- Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json
```
+``` yaml
+openapi-type: arm
+tag: package-2019-12-01
+```
+
+### Tag: package-2019-12-01
+
+These settings apply only when `--tag=package-2019-12-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-12-01'
+input-file:
+ - Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json
+```
+
---
# Code Generation
@@ -102,6 +116,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json
+ - $(this-folder)/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json
```
diff --git a/specification/softwareplan/resource-manager/readme.ruby.md b/specification/softwareplan/resource-manager/readme.ruby.md
index 52724cb7a5a6..595a28e1efac 100644
--- a/specification/softwareplan/resource-manager/readme.ruby.md
+++ b/specification/softwareplan/resource-manager/readme.ruby.md
@@ -17,3 +17,13 @@ Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-12-01' && $(ruby)
+namespace: Microsoft.SoftwarePlan
+output-folder: $(ruby-sdks-folder)/softwareplan
+```
\ No newline at end of file
diff --git a/specification/softwareplan/resource-manager/readme.typescript.md b/specification/softwareplan/resource-manager/readme.typescript.md
index f32fe370c9ea..2b3f11033e27 100644
--- a/specification/softwareplan/resource-manager/readme.typescript.md
+++ b/specification/softwareplan/resource-manager/readme.typescript.md
@@ -9,6 +9,5 @@ typescript:
package-name: "@azure/arm-softwareplan"
output-folder: "$(typescript-sdks-folder)/sdk/softwareplan/arm-softwareplan"
clear-output-folder: true
- payload-flattening-threshold: 1
generate-metadata: true
```
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json
index de1986f5ecdf..f19265d4c2b8 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/examples/DatabaseBlobAuditingCreateMax.json
@@ -38,7 +38,11 @@
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
- "auditActionsAndGroups": [ "DATABASE_LOGOUT_GROUP", "DATABASE_ROLE_MEMBER_CHANGE_GROUP", "UPDATE on database::TestDatabaseName by public" ],
+ "auditActionsAndGroups": [
+ "DATABASE_LOGOUT_GROUP",
+ "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
+ "UPDATE on database::TestDatabaseName by public"
+ ],
"isAzureMonitorTargetEnabled": true
}
}
@@ -56,7 +60,11 @@
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
- "auditActionsAndGroups": [ "DATABASE_LOGOUT_GROUP", "DATABASE_ROLE_MEMBER_CHANGE_GROUP", "UPDATE on database::TestDatabaseName by public" ],
+ "auditActionsAndGroups": [
+ "DATABASE_LOGOUT_GROUP",
+ "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
+ "UPDATE on database::TestDatabaseName by public"
+ ],
"isAzureMonitorTargetEnabled": true
}
}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
index b50eb3ab1b62..0e817f870ea3 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
@@ -130,7 +130,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough vCore capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidManagedServerDnsZonePartner - Invalid DNS zone partner resource id specified in properties.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidManagedServerDnsZonePartner - The resource URI of the geo-primary managed instance specified in the create request is invalid. Please ensure that the property is of the format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/managedInstances/{managedInstanceName}\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -230,7 +230,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough vCore capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -438,6 +438,10 @@
"instancePoolId": {
"description": "The Id of the instance pool this managed server belongs to.",
"type": "string"
+ },
+ "minimalTlsVersion": {
+ "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'",
+ "type": "string"
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json
index e841fc45e9e0..bc0009ce5b97 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json
@@ -547,6 +547,20 @@
"description": "Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not.",
"type": "boolean",
"readOnly": true
+ },
+ "rank": {
+ "enum": [
+ "None",
+ "Low",
+ "Medium",
+ "High",
+ "Critical"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SensitivityLabelRank",
+ "modelAsString": false
+ }
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/DatabaseBlobAuditingCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/DatabaseBlobAuditingCreateMax.json
index 6c342a0368ba..f19265d4c2b8 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/DatabaseBlobAuditingCreateMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/DatabaseBlobAuditingCreateMax.json
@@ -64,7 +64,7 @@
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
- ],
+ ],
"isAzureMonitorTargetEnabled": true
}
}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRecovery.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRecovery.json
index 129a700d2087..49764695d1bb 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRecovery.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRecovery.json
@@ -9,7 +9,7 @@
"location": "southeastasia",
"properties": {
"createMode": "Recovery",
- "RecoverableDatabaseId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/Default-SQL-WestEurope/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb"
+ "recoverableDatabaseId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/Default-SQL-WestEurope/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb"
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json
new file mode 100644
index 000000000000..095e2a10b5cb
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "Default-SQL-SouthEastAsia",
+ "managedInstanceName": "testinstance",
+ "databaseName": "testdatabase",
+ "api-version": "2017-03-01-preview",
+ "parameters": {
+ "location": "southeastasia",
+ "properties": {
+ "createMode": "RestoreLongTermRetentionBackup",
+ "longTermRetentionBackupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/southeastasia/longTermRetentionManagedInstances/testInstance/databases/testDatabase/longTermRetentionManagedInstanceBackups/00000000-1111-2222-3333-444444444444;131637960820000000"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "southeastasia",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testinstance/recoverableDatabases/testdatabase",
+ "name": "testdatabase",
+ "properties": {
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "status": "Online",
+ "creationDate": "2018-11-07T04:41:33.937Z"
+ },
+ "type": "Microsoft.Sql/managedInstances/databases"
+ }
+ },
+ "201": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "southeastasia",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testinstance/recoverableDatabases/testdatabase",
+ "name": "testdatabase",
+ "properties": {
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "status": "Online",
+ "creationDate": "2018-11-07T04:41:33.937Z"
+ },
+ "type": "Microsoft.Sql/managedInstances/databases"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json
index 537063615c5c..05ace997f90e 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json
@@ -103,7 +103,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
}
},
"x-ms-pageable": {
@@ -148,7 +148,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
}
},
"x-ms-examples": {
@@ -197,7 +197,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -222,6 +222,12 @@
},
"Creates a new managed database by restoring from an external backup": {
"$ref": "./examples/ManagedDatabaseCreateRestoreExternalBackup.json"
+ },
+ "Creates a new managed database from restoring a geo-replicated backup": {
+ "$ref": "./examples/ManagedDatabaseCreateRecovery.json"
+ },
+ "Creates a new managed database from restoring a long term retention backup": {
+ "$ref": "./examples/ManagedDatabaseCreateRestoreLtrBackup.json"
}
}
},
@@ -253,7 +259,7 @@
"description": "Successfully deleted the managed database."
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 GeoReplicationDatabaseNotPrimary - The operation cannot be performed since the database '{0}' is a replication target.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DropDisallowedDuringFailover - Can not drop database because a failover operation is in progress on the failover group.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 GeoReplicationDatabaseNotPrimary - The operation cannot be performed since the database '{0}' is a replication target.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 DropDisallowedDuringFailover - Can not drop database because a failover operation is in progress on the failover group.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Deleting the managed database is in progress."
@@ -309,10 +315,10 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
- "description": "Deleting the managed database is in progress."
+ "description": "Updating the managed database is in progress."
}
},
"x-ms-long-running-operation": true,
@@ -380,6 +386,7 @@
"Shutdown",
"Creating",
"Inaccessible",
+ "Restoring",
"Updating"
],
"type": "string",
@@ -436,7 +443,8 @@
"Default",
"RestoreExternalBackup",
"PointInTimeRestore",
- "Recovery"
+ "Recovery",
+ "RestoreLongTermRetentionBackup"
],
"type": "string",
"x-ms-enum": {
@@ -486,6 +494,13 @@
"x-ms-mutability": [
"create"
]
+ },
+ "longTermRetentionBackupResourceId": {
+ "description": "The name of the Long Term Retention backup to be used for restore of this managed database.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
new file mode 100644
index 000000000000..dd93bd17879c
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
@@ -0,0 +1,920 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-06-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Gets a long term retention backup for a managed database.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_Get",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the managed database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "backupName",
+ "in": "path",
+ "description": "The backup name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the backup.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackup"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Get the long term retention backup of a managed database.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionBackupGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Deletes a long term retention backup.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_Delete",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the managed database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "backupName",
+ "in": "path",
+ "description": "The backup name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the backup."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the long term retention backup.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionBackupDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Lists all long term retention backups for a managed database.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_ListByDatabase",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the managed database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "onlyLatestPerDatabase",
+ "in": "query",
+ "description": "Whether or not to only get the latest backup for each database.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "databaseState",
+ "in": "query",
+ "description": "Whether to query against just live databases, just deleted databases, or all databases.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Live",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "databaseState",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of backups.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all long term retention backups under the database.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Lists the long term retention backups for a given managed instance.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_ListByInstance",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "onlyLatestPerDatabase",
+ "in": "query",
+ "description": "Whether or not to only get the latest backup for each database.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "databaseState",
+ "in": "query",
+ "description": "Whether to query against just live databases, just deleted databases, or all databases.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Live",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "databaseState",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of backups.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all long term retention backups under the managed instance.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionBackupListByInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Lists the long term retention backups for managed databases in a given location.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_ListByLocation",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "onlyLatestPerDatabase",
+ "in": "query",
+ "description": "Whether or not to only get the latest backup for each database.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "databaseState",
+ "in": "query",
+ "description": "Whether to query against just live databases, just deleted databases, or all databases.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Live",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "databaseState",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of backups.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all long term retention backups under the location.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionBackupListByLocation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Gets a long term retention backup for a managed database.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_GetByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the managed database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "backupName",
+ "in": "path",
+ "description": "The backup name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the backup.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackup"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Get the long term retention backup.": {
+ "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Deletes a long term retention backup.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_DeleteByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the managed database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "backupName",
+ "in": "path",
+ "description": "The backup name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the backup."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the long term retention backup.": {
+ "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Lists all long term retention backups for a managed database.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_ListByResourceGroupDatabase",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the managed database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "onlyLatestPerDatabase",
+ "in": "query",
+ "description": "Whether or not to only get the latest backup for each database.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "databaseState",
+ "in": "query",
+ "description": "Whether to query against just live databases, just deleted databases, or all databases.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Live",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "databaseState",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of backups.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all long term retention backups under the database.": {
+ "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Lists the long term retention backups for a given managed instance.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_ListByResourceGroupInstance",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "onlyLatestPerDatabase",
+ "in": "query",
+ "description": "Whether or not to only get the latest backup for each database.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "databaseState",
+ "in": "query",
+ "description": "Whether to query against just live databases, just deleted databases, or all databases.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Live",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "databaseState",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of backups.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all long term retention backups under the managed instance.": {
+ "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups": {
+ "get": {
+ "tags": [
+ "LongTermRetentionManagedInstanceBackups"
+ ],
+ "description": "Lists the long term retention backups for managed databases in a given location.",
+ "operationId": "LongTermRetentionManagedInstanceBackups_ListByResourceGroupLocation",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location of the database.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "onlyLatestPerDatabase",
+ "in": "query",
+ "description": "Whether or not to only get the latest backup for each database.",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "databaseState",
+ "in": "query",
+ "description": "Whether to query against just live databases, just deleted databases, or all databases.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "All",
+ "Live",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "databaseState",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of backups.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all long term retention backups under the location.": {
+ "$ref": "./examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ManagedInstanceLongTermRetentionBackupProperties": {
+ "description": "Properties of a long term retention backup",
+ "type": "object",
+ "properties": {
+ "managedInstanceName": {
+ "description": "The managed instance that the backup database belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "managedInstanceCreateTime": {
+ "format": "date-time",
+ "description": "The create time of the instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "databaseName": {
+ "description": "The name of the database the backup belong to",
+ "type": "string",
+ "readOnly": true
+ },
+ "databaseDeletionTime": {
+ "format": "date-time",
+ "description": "The delete time of the database",
+ "type": "string",
+ "readOnly": true
+ },
+ "backupTime": {
+ "format": "date-time",
+ "description": "The time the backup was taken",
+ "type": "string",
+ "readOnly": true
+ },
+ "backupExpirationTime": {
+ "format": "date-time",
+ "description": "The time the long term retention backup will expire.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "ARM proxy resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "ManagedInstanceLongTermRetentionBackup": {
+ "description": "A long term retention backup for a managed database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackupProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ManagedInstanceLongTermRetentionBackupListResult": {
+ "description": "A list of long term retention backups for managed database(s).",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionBackup"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID that identifies an Azure subscription.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to use for the request.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManagedInstanceNameParameter": {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobAuditingPolicyNameParameter": {
+ "name": "blobAuditingPolicyName",
+ "in": "path",
+ "description": "The name of the blob auditing policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineInstanceNameParameter": {
+ "name": "sqlVirtualMachineInstanceName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineInstance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineContainerNameParameter": {
+ "name": "sqlVirtualMachineContainerName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineContainer.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VirtualClusterNameParameter": {
+ "name": "virtualClusterName",
+ "in": "path",
+ "description": "The name of the virtual cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
new file mode 100644
index 000000000000..c76ba97a4139
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
@@ -0,0 +1,376 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-06-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ManagedInstanceLongTermRetentionPolicies"
+ ],
+ "description": "Gets a managed database's long term retention policy.",
+ "operationId": "ManagedInstanceLongTermRetentionPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "The policy name. Should always be Default.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedInstanceLongTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully got LTR policy for managed database.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Get the long term retention policy for the managed database.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedInstanceLongTermRetentionPolicies"
+ ],
+ "description": "Sets a managed database's long term retention policy.",
+ "operationId": "ManagedInstanceLongTermRetentionPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "The policy name. Should always be Default.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedInstanceLongTermRetentionPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The long term retention policy info.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully set LTR policy for managed database.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidResourceRequestBody - The resource or resource properties in the request body is empty or invalid.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 LongTermRetentionMissingWeekOfYear - WeekOfYear is required to be set between 1 and 52 in order to set yearly retention.\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update the LTR policy for the managed database.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies": {
+ "get": {
+ "tags": [
+ "ManagedInstanceLongTermRetentionPolicies"
+ ],
+ "description": "Gets a database's long term retention policy.",
+ "operationId": "ManagedInstanceLongTermRetentionPolicies_ListByDatabase",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully got LTR policy for managed database.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicyListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 LongTermRetentionPolicyNotSupported - Long Term Retention is not supported on this database.\n\n * 400 LongTermRetentionPolicyInvalid - Long Term Retention policy is invalid.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get the long term retention policies for the managed database.": {
+ "$ref": "./examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BaseLongTermRetentionPolicyProperties": {
+ "description": "Properties of a long term retention policy",
+ "type": "object",
+ "properties": {
+ "weeklyRetention": {
+ "description": "The weekly retention policy for an LTR backup in an ISO 8601 format.",
+ "type": "string"
+ },
+ "monthlyRetention": {
+ "description": "The monthly retention policy for an LTR backup in an ISO 8601 format.",
+ "type": "string"
+ },
+ "yearlyRetention": {
+ "description": "The yearly retention policy for an LTR backup in an ISO 8601 format.",
+ "type": "string"
+ },
+ "weekOfYear": {
+ "format": "int32",
+ "description": "The week of year to take the yearly backup in an ISO 8601 format.",
+ "type": "integer"
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "ARM proxy resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "ManagedInstanceLongTermRetentionPolicy": {
+ "description": "A long term retention policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BaseLongTermRetentionPolicyProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ManagedInstanceLongTermRetentionPolicyListResult": {
+ "description": "A list of long term retention policies.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceLongTermRetentionPolicy"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID that identifies an Azure subscription.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to use for the request.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManagedInstanceNameParameter": {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobAuditingPolicyNameParameter": {
+ "name": "blobAuditingPolicyName",
+ "in": "path",
+ "description": "The name of the blob auditing policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineInstanceNameParameter": {
+ "name": "sqlVirtualMachineInstanceName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineInstance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineContainerNameParameter": {
+ "name": "sqlVirtualMachineContainerName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineContainer.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VirtualClusterNameParameter": {
+ "name": "virtualClusterName",
+ "in": "path",
+ "description": "The name of the virtual cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/capabilities.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/capabilities.json
new file mode 100644
index 000000000000..b0b82c19ea38
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/capabilities.json
@@ -0,0 +1,1255 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-06-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities": {
+ "get": {
+ "tags": [
+ "LocationCapabilities"
+ ],
+ "description": "Gets the subscription capabilities available for the specified location.",
+ "operationId": "Capabilities_ListByLocation",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location name whose capabilities are retrieved.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "If specified, restricts the response to only include the selected item.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "supportedEditions",
+ "supportedElasticPoolEditions",
+ "supportedManagedInstanceVersions",
+ "supportedInstancePoolEditions",
+ "supportedManagedInstanceEditions"
+ ],
+ "x-ms-enum": {
+ "name": "CapabilityGroup",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the subscription location capabilities.",
+ "schema": {
+ "$ref": "#/definitions/LocationCapabilities"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 SubscriptionNotFound - The requested subscription was not found."
+ }
+ },
+ "x-ms-examples": {
+ "List subscription capabilities in the given location.": {
+ "$ref": "./examples/LocationCapabilityListByLocation.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LocationCapabilities": {
+ "description": "The location capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The location name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedServerVersions": {
+ "description": "The list of supported server versions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerVersionCapability"
+ },
+ "readOnly": true
+ },
+ "supportedManagedInstanceVersions": {
+ "description": "The list of supported managed instance versions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceVersionCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ServerVersionCapability": {
+ "description": "The server capability",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The server version name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedEditions": {
+ "description": "The list of supported database editions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EditionCapability"
+ },
+ "readOnly": true
+ },
+ "supportedElasticPoolEditions": {
+ "description": "The list of supported elastic pool editions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticPoolEditionCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedInstanceVersionCapability": {
+ "description": "The managed instance capability",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The server version name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedEditions": {
+ "description": "The list of supported managed instance editions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceEditionCapability"
+ },
+ "readOnly": true
+ },
+ "supportedInstancePoolEditions": {
+ "description": "The list of supported instance pool editions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstancePoolEditionCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "EditionCapability": {
+ "description": "The edition capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The database edition name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedServiceLevelObjectives": {
+ "description": "The list of supported service objectives for the edition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceObjectiveCapability"
+ },
+ "readOnly": true
+ },
+ "zoneRedundant": {
+ "description": "Whether or not zone redundancy is supported for the edition.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "readScale": {
+ "$ref": "#/definitions/ReadScaleCapability",
+ "description": "The read scale capability for the edition.",
+ "readOnly": true
+ },
+ "supportedStorageCapabilities": {
+ "description": "The list of supported storage capabilities for this edition",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticPoolEditionCapability": {
+ "description": "The elastic pool edition capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The elastic pool edition name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedElasticPoolPerformanceLevels": {
+ "description": "The list of supported elastic pool DTU levels for the edition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticPoolPerformanceLevelCapability"
+ },
+ "readOnly": true
+ },
+ "zoneRedundant": {
+ "description": "Whether or not zone redundancy is supported for the edition.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedInstanceEditionCapability": {
+ "description": "The managed server capability",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The managed server version name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedFamilies": {
+ "description": "The supported families.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceFamilyCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "InstancePoolEditionCapability": {
+ "description": "The instance pool capability",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The instance pool version name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedFamilies": {
+ "description": "The supported families.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstancePoolFamilyCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ServiceObjectiveCapability": {
+ "description": "The service objectives capability.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "The unique ID of the service objective.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The service objective name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedMaxSizes": {
+ "description": "The list of supported maximum database sizes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaxSizeRangeCapability"
+ },
+ "readOnly": true
+ },
+ "performanceLevel": {
+ "$ref": "#/definitions/PerformanceLevelCapability",
+ "description": "The performance level.",
+ "readOnly": true
+ },
+ "sku": {
+ "$ref": "../../../common/v1/types.json#/definitions/Sku",
+ "description": "The sku.",
+ "readOnly": true
+ },
+ "supportedLicenseTypes": {
+ "description": "List of supported license types.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LicenseTypeCapability"
+ },
+ "readOnly": true
+ },
+ "includedMaxSize": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "The included (free) max size.",
+ "readOnly": true
+ },
+ "zoneRedundant": {
+ "description": "Whether or not zone redundancy is supported for the service objective.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "supportedAutoPauseDelay": {
+ "$ref": "#/definitions/AutoPauseDelayTimeRange",
+ "description": "Supported time range for auto pause delay",
+ "readOnly": true
+ },
+ "supportedMinCapacities": {
+ "description": "List of supported min capacities",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MinCapacityCapability"
+ },
+ "readOnly": true
+ },
+ "computeModel": {
+ "description": "The compute model",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ReadScaleCapability": {
+ "description": "The read scale capability.",
+ "type": "object",
+ "properties": {
+ "maxNumberOfReplicas": {
+ "format": "int32",
+ "description": "The maximum number of read scale replicas.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageCapability": {
+ "description": "The storage account type capability.",
+ "type": "object",
+ "properties": {
+ "storageAccountType": {
+ "description": "The storage account type for the database's backups.",
+ "enum": [
+ "GRS",
+ "LRS",
+ "ZRS"
+ ],
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticPoolPerformanceLevelCapability": {
+ "description": "The Elastic Pool performance level capability.",
+ "type": "object",
+ "properties": {
+ "performanceLevel": {
+ "$ref": "#/definitions/PerformanceLevelCapability",
+ "description": "The performance level for the pool.",
+ "readOnly": true
+ },
+ "sku": {
+ "$ref": "../../../common/v1/types.json#/definitions/Sku",
+ "description": "The sku.",
+ "readOnly": true
+ },
+ "supportedLicenseTypes": {
+ "description": "List of supported license types.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LicenseTypeCapability"
+ },
+ "readOnly": true
+ },
+ "maxDatabaseCount": {
+ "format": "int32",
+ "description": "The maximum number of databases supported.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "includedMaxSize": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "The included (free) max size for this performance level.",
+ "readOnly": true
+ },
+ "supportedMaxSizes": {
+ "description": "The list of supported max sizes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaxSizeRangeCapability"
+ },
+ "readOnly": true
+ },
+ "supportedPerDatabaseMaxSizes": {
+ "description": "The list of supported per database max sizes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaxSizeRangeCapability"
+ },
+ "readOnly": true
+ },
+ "supportedPerDatabaseMaxPerformanceLevels": {
+ "description": "The list of supported per database max performance levels.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticPoolPerDatabaseMaxPerformanceLevelCapability"
+ },
+ "readOnly": true
+ },
+ "zoneRedundant": {
+ "description": "Whether or not zone redundancy is supported for the performance level.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedInstanceFamilyCapability": {
+ "description": "The managed server family capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Family name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "SKU name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedLicenseTypes": {
+ "description": "List of supported license types.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LicenseTypeCapability"
+ },
+ "readOnly": true
+ },
+ "supportedVcoresValues": {
+ "description": "List of supported virtual cores values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceVcoresCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "InstancePoolFamilyCapability": {
+ "description": "The instance pool family capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Family name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedLicenseTypes": {
+ "description": "List of supported license types.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LicenseTypeCapability"
+ },
+ "readOnly": true
+ },
+ "supportedVcoresValues": {
+ "description": "List of supported virtual cores values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstancePoolVcoresCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "MaxSizeRangeCapability": {
+ "description": "The maximum size range capability.",
+ "type": "object",
+ "properties": {
+ "minValue": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "Minimum value.",
+ "readOnly": true
+ },
+ "maxValue": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "Maximum value.",
+ "readOnly": true
+ },
+ "scaleSize": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "Scale/step size for discrete values between the minimum value and the maximum value.",
+ "readOnly": true
+ },
+ "logSize": {
+ "$ref": "#/definitions/LogSizeCapability",
+ "description": "Size of transaction log.",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "PerformanceLevelCapability": {
+ "description": "The performance level capability.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "Performance level value.",
+ "type": "number",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "Unit type used to measure performance level.",
+ "enum": [
+ "DTU",
+ "VCores"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PerformanceLevelUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "LicenseTypeCapability": {
+ "description": "The license type capability",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "License type identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "MaxSizeCapability": {
+ "description": "The maximum size capability.",
+ "type": "object",
+ "properties": {
+ "limit": {
+ "format": "int32",
+ "description": "The maximum size limit (see 'unit' for the units).",
+ "type": "integer",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The units that the limit is expressed in.",
+ "enum": [
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Petabytes"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MaxSizeUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AutoPauseDelayTimeRange": {
+ "description": "Supported auto pause delay time range",
+ "type": "object",
+ "properties": {
+ "minValue": {
+ "format": "int32",
+ "description": "Minimum value",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int32",
+ "description": "Maximum value",
+ "type": "integer",
+ "readOnly": true
+ },
+ "stepSize": {
+ "format": "int32",
+ "description": "Step value for discrete values between the minimum value and the maximum value.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int32",
+ "description": "Default value is no value is provided",
+ "type": "integer",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "Unit of time that delay is expressed in",
+ "enum": [
+ "Minutes"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PauseDelayTimeUnit",
+ "modelAsString": true
+ }
+ },
+ "doNotPauseValue": {
+ "format": "int32",
+ "description": "Value that is used to not pause (infinite delay before pause)",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "MinCapacityCapability": {
+ "description": "The min capacity capability",
+ "type": "object",
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "Min capacity value",
+ "type": "number",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticPoolPerDatabaseMaxPerformanceLevelCapability": {
+ "description": "The max per-database performance level capability.",
+ "type": "object",
+ "properties": {
+ "limit": {
+ "format": "double",
+ "description": "The maximum performance level per database.",
+ "type": "number",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "Unit type used to measure performance level.",
+ "enum": [
+ "DTU",
+ "VCores"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PerformanceLevelUnit",
+ "modelAsString": true
+ }
+ },
+ "supportedPerDatabaseMinPerformanceLevels": {
+ "description": "The list of supported min database performance levels.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticPoolPerDatabaseMinPerformanceLevelCapability"
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedInstanceVcoresCapability": {
+ "description": "The managed instance virtual cores capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The virtual cores identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "format": "int32",
+ "description": "The virtual cores value.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "includedMaxSize": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "Included size.",
+ "readOnly": true
+ },
+ "supportedStorageSizes": {
+ "description": "Storage size ranges.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaxSizeRangeCapability"
+ },
+ "readOnly": true
+ },
+ "instancePoolSupported": {
+ "description": "True if this service objective is supported for managed instances in an instance pool.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "standaloneSupported": {
+ "description": "True if this service objective is supported for standalone managed instances.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "InstancePoolVcoresCapability": {
+ "description": "The managed instance virtual cores capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The virtual cores identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "format": "int32",
+ "description": "The virtual cores value.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "storageLimit": {
+ "$ref": "#/definitions/MaxSizeCapability",
+ "description": "Storage limit.",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ },
+ "LogSizeCapability": {
+ "description": "The log size capability.",
+ "type": "object",
+ "properties": {
+ "limit": {
+ "format": "int32",
+ "description": "The log size limit (see 'unit' for the units).",
+ "type": "integer",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The units that the limit is expressed in.",
+ "enum": [
+ "Megabytes",
+ "Gigabytes",
+ "Terabytes",
+ "Petabytes",
+ "Percent"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "LogSizeUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ElasticPoolPerDatabaseMinPerformanceLevelCapability": {
+ "description": "The minimum per-database performance level capability.",
+ "type": "object",
+ "properties": {
+ "limit": {
+ "format": "double",
+ "description": "The minimum performance level per database.",
+ "type": "number",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "Unit type used to measure performance level.",
+ "enum": [
+ "DTU",
+ "VCores"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PerformanceLevelUnit",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the capability.",
+ "enum": [
+ "Visible",
+ "Available",
+ "Default",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CapabilityStatus",
+ "modelAsString": false
+ }
+ },
+ "reason": {
+ "description": "The reason for the capability not being available.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID that identifies an Azure subscription.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to use for the request.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManagedInstanceNameParameter": {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobAuditingPolicyNameParameter": {
+ "name": "blobAuditingPolicyName",
+ "in": "path",
+ "description": "The name of the blob auditing policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineInstanceNameParameter": {
+ "name": "sqlVirtualMachineInstanceName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineInstance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineContainerNameParameter": {
+ "name": "sqlVirtualMachineContainerName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineContainer.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VirtualClusterNameParameter": {
+ "name": "virtualClusterName",
+ "in": "path",
+ "description": "The name of the virtual cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json
new file mode 100644
index 000000000000..9f390521b5cb
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operationId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operation": "UpsertManagedServer",
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 100,
+ "startTime": "2019-12-06T11:08:44.49Z",
+ "state": "Cancelled",
+ "isCancellable": false
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-1111-111111111111",
+ "type": "Microsoft.Sql/managedInstances/operations"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json
index 93f89f4eee86..00d4517c0859 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json
@@ -10,52 +10,52 @@
"body": {
"value": [
{
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111",
- "name": "11111111-1111-1111-1111-111111111111",
- "type": "Microsoft.Sql/managedInstances/operations",
"properties": {
"managedInstanceName": "sqlcrudtest-4645",
"operation": "UpsertManagedServer",
- "operationFriendlyName": "MANAGED SERVER UPDATE",
- "percentComplete": 0,
- "startTime": "2017-06-01T09:10:08.10Z",
- "state": "InProgress"
- }
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 100,
+ "startTime": "2019-12-06T11:08:44.49Z",
+ "state": "Cancelled",
+ "isCancellable": false
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-1111-111111111111",
+ "type": "Microsoft.Sql/managedInstances/operations"
},
{
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222",
- "name": "22222222-2222-2222-2222-222222222222",
- "type": "Microsoft.Sql/managedInstances/operations",
"properties": {
"managedInstanceName": "sqlcrudtest-4645",
"operation": "UpsertManagedServer",
- "operationFriendlyName": "MANAGED SERVER UPDATE",
- "percentComplete": 100,
- "startTime": "2019-09-23T08:05:28.687Z",
- "state": "Succeeded"
- }
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 0,
+ "startTime": "2019-12-06T11:08:44.49Z",
+ "state": "InProgress",
+ "isCancellable": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.Sql/managedInstances/operations"
},
{
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/33333333-3333-3333-3333-333333333333",
- "name": "33333333-3333-3333-3333-333333333333",
- "type": "Microsoft.Sql/managedInstances/operations",
"properties": {
"managedInstanceName": "sqlcrudtest-4645",
"operation": "UpsertManagedServer",
- "operationFriendlyName": "MANAGED SERVER UPDATE",
- "percentComplete": 55,
- "startTime": "2019-09-23T08:05:28.687Z",
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 100,
+ "startTime": "2019-12-06T14:48:34.583Z",
"state": "Failed",
"errorCode": 45157,
- "errorDescription": "Server 'testcl' is busy with another operation. Please try your operation later.",
+ "errorDescription": "Server 'sqlcrudtest-4645' is busy with another operation. Please try your operation later.",
"errorSeverity": 16,
- "isUserError": true
- }
+ "isUserError": true,
+ "isCancellable": false
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/33333333-3333-3333-3333-333333333333",
+ "name": "33333333-3333-3333-3333-333333333333",
+ "type": "Microsoft.Sql/managedInstances/operations"
},
{
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444",
- "name": "44444444-4444-4444-4444-444444444444",
- "type": "Microsoft.Sql/managedInstances/operations",
"properties": {
"managedInstanceName": "sqlcrudtest-4645",
"operation": "MakeAllManagedDatabasesAccessible",
@@ -63,7 +63,10 @@
"percentComplete": 100,
"startTime": "2017-06-01T09:00:08.10Z",
"state": "Succeeded"
- }
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444",
+ "name": "44444444-4444-4444-4444-444444444444",
+ "type": "Microsoft.Sql/managedInstances/operations"
}
]
}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/LocationCapabilityListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/LocationCapabilityListByLocation.json
new file mode 100644
index 000000000000..af199c989b2a
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/LocationCapabilityListByLocation.json
@@ -0,0 +1,68692 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "locationName": "eastus2euap",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "North Central US",
+ "supportedServerVersions": [
+ {
+ "name": "12.0",
+ "supportedEditions": [
+ {
+ "name": "System",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "26e021db-f1f9-4c98-84c6-92af8ef433d7",
+ "name": "System",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "29dd7459-4a7c-4e56-be22-f0adda49440d",
+ "name": "System0",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "c99ac918-dbea-463f-a475-16ec020fdc12",
+ "name": "System1",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "620323bf-2879-4807-b30d-c2e6d7b3b3aa",
+ "name": "System2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "33d0db1f-6893-4210-99f9-463fb9b496a4",
+ "name": "System3",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "da24338c-a6c9-46c2-a4bf-4ac95b496ae4",
+ "name": "System4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "53f7fa1b-b0d0-43d6-bc29-c5f059fb36e9",
+ "name": "System2L",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "e79cd55c-689f-48d9-bffa-0dd12c772248",
+ "name": "System3L",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "id": "4b37bb6d-e004-47ac-8f7a-be56ac9fb490",
+ "name": "System4L",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "performanceLevel": {
+ "value": 0,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "System",
+ "tier": "System",
+ "capacity": 0
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Visible",
+ "reason": "'System' is not a valid database edition in this version of SQL Server."
+ },
+ {
+ "name": "Free",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "6aa3bb3e-7f50-40d6-95ef-5497c30d99d8",
+ "name": "Free",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 5,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Free",
+ "tier": "Free",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 32,
+ "unit": "Megabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "Basic",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "dd6d99bb-f193-4ec1-86f2-43d3bccbc49c",
+ "name": "Basic",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 5,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Basic",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "Standard",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "f1173c43-91bd-4aaa-973c-54e79e15235b",
+ "name": "S0",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 10,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "id": "1b1ebd4d-d903-4baa-97f9-4ea675f5e928",
+ "name": "S1",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 20,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 20
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "455330e1-00cd-488b-b5fa-177c226f28b7",
+ "name": "S2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 50,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 50
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "789681b8-ca10-4eb0-bdf2-e0b050601b40",
+ "name": "S3",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 100,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 100
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "3cf14e1a-0a5d-408c-bbc7-f63c5282f735",
+ "name": "S4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 200,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 200
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "ab69b4e3-d7cc-4aa5-87a6-f8b50615a03c",
+ "name": "S6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 400,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 400
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "b6ca0894-d2f0-4e40-99f5-0f8a93cc2437",
+ "name": "S7",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 800,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 800
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "0efa88e9-99ff-4e36-a148-8c4b20c0826c",
+ "name": "S9",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1600,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1600
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "98100e8b-2f8a-4a81-9eb5-4d1e675c5a29",
+ "name": "S12",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 3000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 3000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "Premium",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "7203483a-c4fb-4304-9e9f-17c71c904f5d",
+ "name": "P1",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 125,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Premium",
+ "tier": "Premium",
+ "capacity": 125
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "id": "a7d1b92d-c987-4375-b54d-2b1d0e0f5bb0",
+ "name": "P2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 250,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Premium",
+ "tier": "Premium",
+ "capacity": 250
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "afe1eee1-1f12-4e5f-9ad6-2de9c12cb4dc",
+ "name": "P4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Premium",
+ "tier": "Premium",
+ "capacity": 500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "43940481-9191-475a-9dba-6b505615b9aa",
+ "name": "P6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Premium",
+ "tier": "Premium",
+ "capacity": 1000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "dd00d544-bbc0-4f61-ba60-cdce0c410288",
+ "name": "P11",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1750,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Premium",
+ "tier": "Premium",
+ "capacity": 1750
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "5bc86cca-9a96-4a94-90ef-bbdfcfbf2d71",
+ "name": "P15",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Premium",
+ "tier": "Premium",
+ "capacity": 4000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 1
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "DataWarehouse",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "9f848803-41b2-4a6d-9501-bb0e0ab31d2e",
+ "name": "DW100c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 900,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 900
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "bd2edbf5-11a2-4a87-b371-4b78eb82280e",
+ "name": "DW200c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1800,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 1800
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "f1e305d4-5a13-4fd1-9deb-033d86ad8ea3",
+ "name": "DW300c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2700,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 2700
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "9e6d0543-d417-4aee-a7aa-b588e0aa9722",
+ "name": "DW400c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 3600,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 3600
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "16d01b30-3ecd-4b97-aeaf-a3d52f46fcbe",
+ "name": "DW500c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 4500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "6b6d6207-2c78-48e2-8549-ae2cdc62f634",
+ "name": "DW1000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 9000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 9000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "64dec603-ff44-4497-b77f-d4dcbc013e20",
+ "name": "DW1500c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 13500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 13500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "32084fd6-8bc7-4d72-9aeb-9e5954f28779",
+ "name": "DW2000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 18000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 18000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "ea58fa6b-4504-4a59-8a8b-278a60f04fd3",
+ "name": "DW2500c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 22500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 22500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "15e8ff68-3583-42da-9c2e-a29d08bba253",
+ "name": "DW3000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 27000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 27000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "bcf5eb94-46c3-40c3-b701-c5c189300a79",
+ "name": "DW5000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 45000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 45000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "8bf62e3f-72a3-4d03-9838-8cc5e2115a07",
+ "name": "DW6000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 54000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 54000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "c3e07aba-7c88-4fdb-a9ee-ccc6705e2002",
+ "name": "DW7500c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ }
+ ],
+ "performanceLevel": {
+ "value": 67500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 67500
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "id": "36ec908d-7322-4ba6-91c2-f2012eb4f32e",
+ "name": "DW10000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ }
+ ],
+ "performanceLevel": {
+ "value": 90000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 90000
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "id": "5199131b-d29a-49fd-91e6-a8bdd789659f",
+ "name": "DW15000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ }
+ ],
+ "performanceLevel": {
+ "value": 135000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 135000
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "id": "df4771c8-dd92-4795-b9eb-01cbb35a8cdc",
+ "name": "DW30000c",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ }
+ ],
+ "performanceLevel": {
+ "value": 270000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "DataWarehouse",
+ "tier": "DataWarehouse",
+ "capacity": 270000
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "status": "Visible",
+ "reason": "Certain regions do not support Data Warehouse provisioning or scaling to DW7500c or larger DW SLOs. Please either try a different performance level (DWU) or choose another region. For more information, please contact Microsoft support."
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "Stretch",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "9cfc850f-d57f-4760-b5a6-bb640d268bf0",
+ "name": "DS100",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 750,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 750
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "id": "053407ef-f01c-46f4-b829-96e01a14f449",
+ "name": "DS200",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 1500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "013a9e10-cafc-45a8-8fcf-93095655d2ce",
+ "name": "DS300",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2250,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 2250
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "79f61db4-8c10-46ba-a93a-d7d02dddd61c",
+ "name": "DS400",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 3000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 3000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "44eaac33-df00-4ef4-a2bb-f7ff87899eea",
+ "name": "DS500",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 3750,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 3750
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "f8e0f3a6-888b-459c-a9dd-d74d8b2b0e72",
+ "name": "DS600",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 4500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "b9ed8f51-a414-42dc-8348-e4a1de25e12b",
+ "name": "DS1000",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 7500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 7500
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "07479569-6d70-47a5-8db6-0af55d34f2c1",
+ "name": "DS1200",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 9000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 9000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "2d79baec-2879-46d5-9f5d-fb70eb004c4e",
+ "name": "DS1500",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 11250,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 11250
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "7fb5389f-6d15-4e0b-9540-fe5ecdfdbeee",
+ "name": "DS2000",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 60,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 70,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 80,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 90,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "performanceLevel": {
+ "value": 15000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "Stretch",
+ "tier": "Stretch",
+ "capacity": 15000
+ },
+ "supportedLicenseTypes": [],
+ "includedMaxSize": {
+ "limit": 240,
+ "unit": "Terabytes"
+ },
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "GeneralPurpose",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "5934b5fa-2f4c-4a4b-8dfb-1ce116f0f587",
+ "name": "GP_Gen4_1",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 1
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "aa3dbf38-039b-4a88-8487-94dfddfd1f86",
+ "name": "GP_S_Gen5_1",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 524288,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 1
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 0.5,
+ "status": "Default"
+ },
+ {
+ "value": 0.75,
+ "status": "Available"
+ },
+ {
+ "value": 1,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "29575dba-2a11-4440-8813-fc75b9c32a83",
+ "name": "GP_Gen4_2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "f21733ad-9b9b-4d4e-a4fa-94a133c41718",
+ "name": "GP_Gen5_2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "id": "3d6269f6-9ca1-4192-a947-5bff42c8c2aa",
+ "name": "GP_S_Gen5_2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 0.5,
+ "status": "Default"
+ },
+ {
+ "value": 0.75,
+ "status": "Available"
+ },
+ {
+ "value": 1,
+ "status": "Available"
+ },
+ {
+ "value": 1.25,
+ "status": "Available"
+ },
+ {
+ "value": 1.5,
+ "status": "Available"
+ },
+ {
+ "value": 1.75,
+ "status": "Available"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "a265476d-7f55-47c5-af89-41f619593622",
+ "name": "GP_Gen4_3",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 3,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 3
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "12127802-4801-442f-acdc-6a305e5d8607",
+ "name": "GP_Gen4_4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "5a2250bb-cc3e-4f86-acbd-599fe184b9be",
+ "name": "GP_Gen5_4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "3372b1c4-d1ab-485c-80dc-e6a0ce4e5f91",
+ "name": "GP_S_Gen5_4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 0.5,
+ "status": "Default"
+ },
+ {
+ "value": 0.75,
+ "status": "Available"
+ },
+ {
+ "value": 1,
+ "status": "Available"
+ },
+ {
+ "value": 1.25,
+ "status": "Available"
+ },
+ {
+ "value": 1.5,
+ "status": "Available"
+ },
+ {
+ "value": 1.75,
+ "status": "Available"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "d8f42720-7066-49da-853e-1a7a0f2ae635",
+ "name": "GP_Gen4_5",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 5,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "0a8f0204-66ec-411b-80bd-d15460c7ccc6",
+ "name": "GP_Gen4_6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "197e794a-a0a2-4286-9629-1677137b1314",
+ "name": "GP_Gen5_6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "29627e46-7cfd-49c3-92f1-22af2cc31502",
+ "name": "GP_S_Gen5_6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 0.75,
+ "status": "Default"
+ },
+ {
+ "value": 1,
+ "status": "Available"
+ },
+ {
+ "value": 1.25,
+ "status": "Available"
+ },
+ {
+ "value": 1.5,
+ "status": "Available"
+ },
+ {
+ "value": 1.75,
+ "status": "Available"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ },
+ {
+ "value": 5,
+ "status": "Available"
+ },
+ {
+ "value": 6,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "e75459da-541e-4dd1-952a-c8874f2cad4a",
+ "name": "GP_Gen4_7",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 7,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 7
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "b6cb748f-90b7-4583-925d-17151fce4031",
+ "name": "GP_Gen4_8",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "d92ff70d-5cc6-4bca-90dd-9ba988f08c02",
+ "name": "GP_Gen5_8",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "a603eecf-7801-4767-81ce-a59a8a6a0722",
+ "name": "GP_S_Gen5_8",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 1,
+ "status": "Default"
+ },
+ {
+ "value": 1.25,
+ "status": "Available"
+ },
+ {
+ "value": 1.5,
+ "status": "Available"
+ },
+ {
+ "value": 1.75,
+ "status": "Available"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ },
+ {
+ "value": 5,
+ "status": "Available"
+ },
+ {
+ "value": 6,
+ "status": "Available"
+ },
+ {
+ "value": 8,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "66b222db-8f6c-46bf-806a-75a38bac674f",
+ "name": "GP_Gen4_9",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 9,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 9
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "e53c1e77-5b43-4e8c-aafd-a875ea64807e",
+ "name": "GP_Gen4_10",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "eb26495c-75d3-427a-80a1-e72583bddf4e",
+ "name": "GP_Gen5_10",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "77f361df-4913-485f-943f-2bb1d810f4b5",
+ "name": "GP_S_Gen5_10",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 1.25,
+ "status": "Default"
+ },
+ {
+ "value": 1.5,
+ "status": "Available"
+ },
+ {
+ "value": 1.75,
+ "status": "Available"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ },
+ {
+ "value": 5,
+ "status": "Available"
+ },
+ {
+ "value": 6,
+ "status": "Available"
+ },
+ {
+ "value": 8,
+ "status": "Available"
+ },
+ {
+ "value": 10,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "7b24051a-7551-4f81-b7ed-138b752c0cab",
+ "name": "GP_Gen5_12",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 12,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 12
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "fafc7509-d0c0-4d4d-b833-a22a92002af1",
+ "name": "GP_S_Gen5_12",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 12,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 12
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 1.5,
+ "status": "Default"
+ },
+ {
+ "value": 1.75,
+ "status": "Available"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ },
+ {
+ "value": 5,
+ "status": "Available"
+ },
+ {
+ "value": 6,
+ "status": "Available"
+ },
+ {
+ "value": 8,
+ "status": "Available"
+ },
+ {
+ "value": 10,
+ "status": "Available"
+ },
+ {
+ "value": 12,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "a0dcebb2-7b28-45d6-83c8-034ffc44dcc7",
+ "name": "GP_Gen5_14",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 14,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 14
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "ffd5edac-d85c-4685-b16d-de8faaa9a085",
+ "name": "GP_S_Gen5_14",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 14,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 14
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 1.75,
+ "status": "Default"
+ },
+ {
+ "value": 2,
+ "status": "Available"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ },
+ {
+ "value": 5,
+ "status": "Available"
+ },
+ {
+ "value": 6,
+ "status": "Available"
+ },
+ {
+ "value": 8,
+ "status": "Available"
+ },
+ {
+ "value": 10,
+ "status": "Available"
+ },
+ {
+ "value": 12,
+ "status": "Available"
+ },
+ {
+ "value": 14,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "3bbb282e-5cfb-4a8e-98d5-72b9de14fd40",
+ "name": "GP_Gen4_16",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "92a37be8-8fb8-4ef8-9add-dbc217c038a7",
+ "name": "GP_Gen5_16",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "92adf537-10d2-418a-928f-252a069231aa",
+ "name": "GP_S_Gen5_16",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_S_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [],
+ "zoneRedundant": false,
+ "supportedAutoPauseDelay": {
+ "minValue": 60,
+ "maxValue": 10080,
+ "stepSize": 10,
+ "default": 60,
+ "unit": "Minutes",
+ "doNotPauseValue": -1
+ },
+ "supportedMinCapacities": [
+ {
+ "value": 2,
+ "status": "Default"
+ },
+ {
+ "value": 3,
+ "status": "Available"
+ },
+ {
+ "value": 4,
+ "status": "Available"
+ },
+ {
+ "value": 5,
+ "status": "Available"
+ },
+ {
+ "value": 6,
+ "status": "Available"
+ },
+ {
+ "value": 8,
+ "status": "Available"
+ },
+ {
+ "value": 10,
+ "status": "Available"
+ },
+ {
+ "value": 12,
+ "status": "Available"
+ },
+ {
+ "value": 14,
+ "status": "Available"
+ },
+ {
+ "value": 16,
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "id": "7786e4d6-7def-4c25-bbe6-bbb166d9060d",
+ "name": "GP_Gen5_18",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 18,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 18
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "a4567429-ab9b-47c7-a7d9-bef90069c942",
+ "name": "GP_Gen5_20",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 20,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 20
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "560fc158-3975-4431-9c58-c913d6eadde3",
+ "name": "GP_Gen4_24",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "a0e88422-40ff-4e8d-9403-d69ca347fc36",
+ "name": "GP_Gen5_24",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "e8a59272-786f-4969-a8b5-7db1dedb37cf",
+ "name": "GP_Gen5_32",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 32,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 32
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "add5efcd-d19e-47c0-90ec-5cf76d25ec62",
+ "name": "GP_Gen5_40",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 40,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 40
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "e847fba4-b20d-4ab3-a422-c74070f38acc",
+ "name": "GP_Gen5_80",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 80,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 80
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 0
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "name": "BusinessCritical",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "c62e8f57-d557-4377-a078-31cc5898c30d",
+ "name": "BC_Gen4_1",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 1,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 1
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "063b8b86-08f4-4697-aa15-1a0ef798c4b5",
+ "name": "BC_Gen4_2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "a0fc5801-8d79-49b1-bb62-02e84cf70333",
+ "name": "BC_Gen5_2",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "id": "85d9197b-2d08-4722-b16f-544f82e9474a",
+ "name": "BC_Gen4_3",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 3,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 3
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "51909b2a-78ab-4187-9399-ef948311ebd3",
+ "name": "BC_Gen4_4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "665a55db-09db-4623-a7c3-95973806f722",
+ "name": "BC_Gen5_4",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "a11c134d-aea7-4146-b68d-abbf996da1ea",
+ "name": "BC_Gen4_5",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 5,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "130f88a6-15ef-4f62-86f3-7422d93d3b41",
+ "name": "BC_Gen4_6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "c2d88f7b-021c-494e-adc2-d484c184a129",
+ "name": "BC_Gen5_6",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "8160a1ce-2d4b-487c-9d06-910d01a29d6a",
+ "name": "BC_Gen4_7",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 7,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 7
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "daf80701-f93b-4b57-994e-699905078444",
+ "name": "BC_Gen4_8",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "5f71c3de-ead7-4cb9-8505-d12e2dc2774a",
+ "name": "BC_Gen5_8",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "9f48f46b-d290-4593-aada-2219f5729c97",
+ "name": "BC_Gen4_9",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 9,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 9
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "cbe7e810-92e2-4e88-b052-f057a049dc19",
+ "name": "BC_Gen4_10",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "6146bc08-82f8-4842-8374-fcb89a0303bf",
+ "name": "BC_Gen5_10",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "9c892ace-06fe-44b1-9cca-7ad71f3912a3",
+ "name": "BC_Gen5_12",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 12,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 12
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "2cdc2809-a9d0-4b14-bbe4-6a0ef12a657b",
+ "name": "BC_Gen5_14",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 14,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 14
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "3cb9d0b5-1aa5-463d-880a-424c5b7b2790",
+ "name": "BC_Gen4_16",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "5cf22315-05d1-4af0-b3d8-432459dc1ce9",
+ "name": "BC_Gen5_16",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "2557f090-9298-4db0-95c8-b5f60730a0b0",
+ "name": "BC_Gen5_18",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 18,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 18
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "6c744196-96b4-40f9-b348-f5f0f78e45f4",
+ "name": "BC_Gen5_20",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 20,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 20
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "65f12963-e606-4d1b-b36a-71480f31e904",
+ "name": "BC_Gen4_24",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "09266e61-c762-47af-9377-07e1fcf0e28f",
+ "name": "BC_Gen5_24",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "2a8e2a20-b3d8-49b0-9150-4c16c6bdcc98",
+ "name": "BC_Gen5_32",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 32,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 32
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "c07a9ab7-a897-41b0-b3b3-16e605cb93a1",
+ "name": "BC_Gen5_40",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 40,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 40
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "cc1f7acb-84d5-4d0d-8830-a107747ef391",
+ "name": "BC_Gen5_80",
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "performanceLevel": {
+ "value": 80,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 80
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 1
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "name": "Hyperscale",
+ "supportedServiceLevelObjectives": [
+ {
+ "id": "9380cd0e-b025-4e9d-829c-c1918c1614bb",
+ "name": "HS_Gen4_1",
+ "performanceLevel": {
+ "value": 1,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 1
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "id": "34497c3f-24b9-4cee-968d-6e5e854670fe",
+ "name": "HS_Gen4_2",
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "a420d2b2-ca32-4152-b1c6-dd8d4d9fd734",
+ "name": "HS_Gen5_2",
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "5de845d2-2055-428c-b507-94131358cdd7",
+ "name": "HS_Gen4_3",
+ "performanceLevel": {
+ "value": 3,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 3
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "d060b874-21f3-47b0-a9bd-a1a737cfcc6e",
+ "name": "HS_Gen4_4",
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "60dba88b-2dfa-4123-be57-bd0dbfd92a72",
+ "name": "HS_Gen5_4",
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "925a0916-15fb-4764-aa76-533d97f2d782",
+ "name": "HS_Gen4_5",
+ "performanceLevel": {
+ "value": 5,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "d7aa11c2-e4c7-442a-962e-308b371f5ec1",
+ "name": "HS_Gen4_6",
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "b9c594ec-a3fe-4bfe-808d-a595410d0a07",
+ "name": "HS_Gen5_6",
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "d77eef57-6c00-4003-b140-822509b8736a",
+ "name": "HS_Gen4_7",
+ "performanceLevel": {
+ "value": 7,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 7
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "694bf389-7cb2-4461-8fa2-0b06d8438315",
+ "name": "HS_Gen4_8",
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "efdfac5f-3f8e-4500-95b1-684c07349860",
+ "name": "HS_Gen5_8",
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "554ea52a-9ecc-4d87-bbc7-1e257705da3f",
+ "name": "HS_Gen4_9",
+ "performanceLevel": {
+ "value": 9,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 9
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "576f3f38-b950-4eaa-b74e-33d831193441",
+ "name": "HS_Gen4_10",
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "69697c3a-1946-4eb8-a5a4-a269168dde27",
+ "name": "HS_Gen5_10",
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "1bee9dc8-68b4-44df-b870-8ab0e4d71e94",
+ "name": "HS_Gen5_12",
+ "performanceLevel": {
+ "value": 12,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 12
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "07a8341d-c0b2-4000-bc7a-5b4dae2ad210",
+ "name": "HS_Gen5_14",
+ "performanceLevel": {
+ "value": 14,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 14
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "7fc1f700-a45d-499e-901f-2a00645c54db",
+ "name": "HS_Gen4_16",
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "6b56f70b-52e5-44ba-8cd5-4f63d224b206",
+ "name": "HS_Gen5_16",
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "ba0029f2-3ff4-4ef6-9e65-e8f77b5dd1e2",
+ "name": "HS_Gen5_18",
+ "performanceLevel": {
+ "value": 18,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 18
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "f1b2a082-f622-4fb8-bbef-e74deac3ec89",
+ "name": "HS_Gen5_20",
+ "performanceLevel": {
+ "value": 20,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 20
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "f016d419-a031-4b93-ab62-7f3d2a789376",
+ "name": "HS_Gen4_24",
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen4",
+ "tier": "Hyperscale",
+ "family": "Gen4",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "222bc0ee-e195-4bbc-be05-3b849c3a8195",
+ "name": "HS_Gen5_24",
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "05366cca-cc70-486e-a697-bb3fab877f75",
+ "name": "HS_Gen5_32",
+ "performanceLevel": {
+ "value": 32,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 32
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "32542ef7-124d-4e66-8b41-9c6c0ab963c2",
+ "name": "HS_Gen5_40",
+ "performanceLevel": {
+ "value": 40,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 40
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "id": "6509db45-febe-44dd-a079-35f11d477984",
+ "name": "HS_Gen5_80",
+ "performanceLevel": {
+ "value": 80,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "HS_Gen5",
+ "tier": "Hyperscale",
+ "family": "Gen5",
+ "capacity": 80
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "readScale": {
+ "maxNumberOfReplicas": 4
+ },
+ "supportedStorageCapabilities": [
+ {
+ "storageAccountType": "GRS",
+ "status": "Default"
+ },
+ {
+ "storageAccountType": "LRS",
+ "status": "Available"
+ },
+ {
+ "storageAccountType": "ZRS",
+ "status": "Visible",
+ "reason": "ZRS is available in multi-az regions"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "supportedElasticPoolEditions": [
+ {
+ "name": "Standard",
+ "supportedElasticPoolPerformanceLevels": [
+ {
+ "performanceLevel": {
+ "value": 50,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 50
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 100,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 100
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 200,
+ "includedMaxSize": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "performanceLevel": {
+ "value": 200,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 200
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 300,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 300
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 400,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 400
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 800,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 800
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 1200,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 1200
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 1600,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 1600
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 2000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 2000
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 2500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 2500
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 3000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "StandardPool",
+ "tier": "Standard",
+ "capacity": 3000
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 10,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 100,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 300,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 400,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 800,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1200,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1600,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 2500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 3000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "name": "Premium",
+ "supportedElasticPoolPerformanceLevels": [
+ {
+ "performanceLevel": {
+ "value": 125,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 125
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 50,
+ "includedMaxSize": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "performanceLevel": {
+ "value": 250,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 250
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 500
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 1000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 1000
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 1500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 1500
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 2000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 2000
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 2500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 2500
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 3000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 3000
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 3500,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 3500
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 4000,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "PremiumPool",
+ "tier": "Premium",
+ "capacity": 4000
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 800,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1600,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3000,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 5,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 10,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 20,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 30,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 40,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 50,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 150,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 200,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 250,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 300,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 400,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 750,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1280,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1536,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1792,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2304,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2560,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2816,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 3,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3328,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3584,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 3840,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Terabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4000,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 25,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 50,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 75,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 125,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 250,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 500,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1000,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 1750,
+ "unit": "DTU",
+ "status": "Available"
+ },
+ {
+ "limit": 4000,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "name": "Basic",
+ "supportedElasticPoolPerformanceLevels": [
+ {
+ "performanceLevel": {
+ "value": 50,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 50
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 100,
+ "includedMaxSize": {
+ "limit": 5000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 5000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 5000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "performanceLevel": {
+ "value": 100,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 100
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 200,
+ "includedMaxSize": {
+ "limit": 10000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 10000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 10000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 200,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 200
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 20000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 20000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 20000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 300,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 300
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 30000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 30000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 30000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 400,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 400
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 40000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 40000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 40000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 800,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 800
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 80000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 80000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 80000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 1200,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 1200
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 120000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 120000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 120000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 1600,
+ "unit": "DTU"
+ },
+ "sku": {
+ "name": "BasicPool",
+ "tier": "Basic",
+ "capacity": 1600
+ },
+ "supportedLicenseTypes": [],
+ "maxDatabaseCount": 500,
+ "includedMaxSize": {
+ "limit": 160000,
+ "unit": "Megabytes"
+ },
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 160000,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 160000,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 100,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 500,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Gigabytes"
+ },
+ "status": "Default"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "DTU",
+ "status": "Default"
+ },
+ {
+ "limit": 5,
+ "unit": "DTU",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "name": "GeneralPurpose",
+ "supportedElasticPoolPerformanceLevels": [
+ {
+ "performanceLevel": {
+ "value": 1,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 1
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 524288,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 200,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 774144,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 524288,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "performanceLevel": {
+ "value": 3,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 3
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 200,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 774144,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 5,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 7,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 7
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 9,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 9
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 12,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 12
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 14,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 14
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3670016,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 2097152,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 18,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 18
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 20,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 20
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 32,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 32
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 40,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 40
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 80,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "GP_Gen5",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 80
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 500,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 48,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 48,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 80,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 48,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 80,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "name": "BusinessCritical",
+ "supportedElasticPoolPerformanceLevels": [
+ {
+ "performanceLevel": {
+ "value": 2,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 50,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 3,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 3
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 4,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 4
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 50,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Default"
+ },
+ {
+ "performanceLevel": {
+ "value": 5,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 5
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 6,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 6
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 7,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 7
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 8,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 8
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 9,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 9
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 10,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 10
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1572864,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 12,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 12
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 14,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 14
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 16,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 16
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 18,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 18
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 20,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 20
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen4",
+ "tier": "BusinessCritical",
+ "family": "Gen4",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 3,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 7,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 9,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 24,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 24
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 32,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 32
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 40,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 40
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ },
+ {
+ "performanceLevel": {
+ "value": 80,
+ "unit": "VCores"
+ },
+ "sku": {
+ "name": "BC_Gen5",
+ "tier": "BusinessCritical",
+ "family": "Gen5",
+ "capacity": 80
+ },
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "maxDatabaseCount": 100,
+ "supportedMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 30,
+ "unit": "Percent"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "logSize": {
+ "limit": 1048576,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxSizes": [
+ {
+ "minValue": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 31744,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 32768,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 0,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "minValue": {
+ "limit": 33792,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 3144704,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "minValue": {
+ "limit": 3145728,
+ "unit": "Megabytes"
+ },
+ "maxValue": {
+ "limit": 4194304,
+ "unit": "Megabytes"
+ },
+ "scaleSize": {
+ "limit": 1024,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "supportedPerDatabaseMaxPerformanceLevels": [
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 48,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 48,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Available"
+ },
+ {
+ "limit": 80,
+ "unit": "VCores",
+ "supportedPerDatabaseMinPerformanceLevels": [
+ {
+ "limit": 0,
+ "unit": "VCores",
+ "status": "Default"
+ },
+ {
+ "limit": 0.25,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 0.5,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 1,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 2,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 4,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 6,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 8,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 10,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 12,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 14,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 16,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 18,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 20,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 24,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 32,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 40,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 48,
+ "unit": "VCores",
+ "status": "Available"
+ },
+ {
+ "limit": 80,
+ "unit": "VCores",
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "zoneRedundant": false,
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "supportedManagedInstanceVersions": [
+ {
+ "name": "12.0",
+ "supportedEditions": [
+ {
+ "name": "GeneralPurpose",
+ "supportedFamilies": [
+ {
+ "name": "Gen5",
+ "sku": "GP_Gen5",
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "supportedVcoresValues": [
+ {
+ "name": "2",
+ "value": 2,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 640,
+ "unit": "Gigabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": false,
+ "status": "Available"
+ },
+ {
+ "name": "4",
+ "value": 4,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "8",
+ "value": 8,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Default"
+ },
+ {
+ "name": "16",
+ "value": 16,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "24",
+ "value": 24,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "32",
+ "value": 32,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "40",
+ "value": 40,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "64",
+ "value": 64,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "80",
+ "value": 80,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 8,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "status": "Default"
+ },
+ {
+ "name": "BusinessCritical",
+ "supportedFamilies": [
+ {
+ "name": "Gen5",
+ "sku": "BC_Gen5",
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "supportedVcoresValues": [
+ {
+ "name": "4",
+ "value": 4,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "8",
+ "value": 8,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Default"
+ },
+ {
+ "name": "16",
+ "value": 16,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 1,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "24",
+ "value": 24,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 2,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "32",
+ "value": 32,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "40",
+ "value": 40,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "64",
+ "value": 64,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ },
+ {
+ "name": "80",
+ "value": 80,
+ "includedMaxSize": {
+ "limit": 262144,
+ "unit": "Megabytes"
+ },
+ "supportedStorageSizes": [
+ {
+ "minValue": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "maxValue": {
+ "limit": 4,
+ "unit": "Terabytes"
+ },
+ "scaleSize": {
+ "limit": 32,
+ "unit": "Gigabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "instancePoolSupported": true,
+ "standaloneSupported": true,
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "status": "Available"
+ }
+ ],
+ "supportedInstancePoolEditions": [
+ {
+ "name": "GeneralPurpose",
+ "supportedFamilies": [
+ {
+ "name": "Gen5",
+ "supportedLicenseTypes": [
+ {
+ "name": "LicenseIncluded",
+ "status": "Default"
+ },
+ {
+ "name": "BasePrice",
+ "status": "Available"
+ }
+ ],
+ "supportedVcoresValues": [
+ {
+ "name": "GP_Gen5_8",
+ "value": 8,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Default"
+ },
+ {
+ "name": "GP_Gen5_16",
+ "value": 16,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "name": "GP_Gen5_24",
+ "value": 24,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "name": "GP_Gen5_32",
+ "value": 32,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "name": "GP_Gen5_40",
+ "value": 40,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "name": "GP_Gen5_64",
+ "value": 64,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ },
+ {
+ "name": "GP_Gen5_80",
+ "value": 80,
+ "storageLimit": {
+ "limit": 8388608,
+ "unit": "Megabytes"
+ },
+ "status": "Available"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "status": "Default"
+ }
+ ],
+ "status": "Available"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json
new file mode 100644
index 000000000000..854fa11ccb3c
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "Default-SQL-SouthEastAsia",
+ "managedInstanceName": "managedInstance",
+ "databaseName": "managedDatabase",
+ "api-version": "2018-06-01-preview",
+ "parameters": {
+ "properties": {
+ "createMode": "RestoreExternalBackup",
+ "storageContainerUri": "https://myaccountname.blob.core.windows.net/backups",
+ "storageContainerSasToken": "sv=2015-12-11&sr=c&sp=rl&sig=1234",
+ "collation": "SQL_Latin1_General_CP1_CI_AS"
+ },
+ "location": "southeastasia"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "southeastasia",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1",
+ "name": "testdb1",
+ "properties": {
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "status": "Online",
+ "creationDate": "2017-06-07T04:41:33.937Z",
+ "defaultSecondaryLocation": "North Europe"
+ },
+ "type": "Microsoft.Sql/managedInstances/databases"
+ }
+ },
+ "201": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "southeastasia",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2",
+ "name": "testdb2",
+ "properties": {
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "status": "Online",
+ "creationDate": "2017-06-07T04:41:33.937Z",
+ "defaultSecondaryLocation": "North Europe"
+ },
+ "type": "Microsoft.Sql/managedInstances/databases"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json
new file mode 100644
index 000000000000..229a9f704bbd
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json
new file mode 100644
index 000000000000..282e9e5fc83d
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000",
+ "name": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-09-01T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": null,
+ "backupTime": "2018-08-23T08:00:00.000Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json
new file mode 100644
index 000000000000..22d5abfc97f5
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z",
+ "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": null,
+ "backupTime": "2018-08-23T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z",
+ "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": null,
+ "backupTime": "2018-08-30T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z",
+ "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": "2018-09-07T08:00:00.000Z",
+ "backupTime": "2018-09-06T08:00:00.000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json
new file mode 100644
index 000000000000..45be867f1a3a
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000",
+ "name": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase1",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-23T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000",
+ "name": "12341234-1234-1234-1234-123123123123;131657960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase2",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-30T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000",
+ "name": "43214321-4321-4321-4321-321321321321;131667960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase3",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-09-06T08:00:00.000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json
new file mode 100644
index 000000000000..d267e1cc2f6f
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "locationName": "japaneast",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance1/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000",
+ "name": "55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance1",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase1",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-23T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance2/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000",
+ "name": "12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance2",
+ "managedInstanceCreateTime": "2017-04-10T08:00:00.000Z",
+ "databaseName": "testDatabase2",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-30T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance3/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000",
+ "name": "43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance3",
+ "managedInstanceCreateTime": "2017-05-10T08:00:00.000Z",
+ "databaseName": "testDatabase3",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-09-06T08:00:00.000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json
new file mode 100644
index 000000000000..1eafcc8e3978
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "policyName": "default",
+ "api-version": "2018-06-01-preview",
+ "parameters": {
+ "properties": {
+ "weeklyRetention": "P1M",
+ "monthlyRetention": "P1Y",
+ "yearlyRetention": "P5Y",
+ "weekOfYear": 5
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default",
+ "name": "default",
+ "type": "Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies",
+ "properties": {
+ "weeklyRetention": "P1M",
+ "monthlyRetention": "P1Y",
+ "yearlyRetention": "P5Y",
+ "weekOfYear": 5
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json
new file mode 100644
index 000000000000..842d853024ac
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "policyName": "default",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/testResourceGroup/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default",
+ "name": "default",
+ "type": "Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies",
+ "properties": {
+ "weeklyRetention": "P1M",
+ "monthlyRetention": "P1Y",
+ "yearlyRetention": "P5Y",
+ "weekOfYear": 5
+ }
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json
new file mode 100644
index 000000000000..40e2369436b3
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default",
+ "name": "default",
+ "type": "Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies",
+ "properties": {
+ "weeklyRetention": "P1M",
+ "monthlyRetention": "P1Y",
+ "yearlyRetention": "P5Y",
+ "weekOfYear": 5
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json
new file mode 100644
index 000000000000..883df7e1cbec
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json
new file mode 100644
index 000000000000..f5b786bca52b
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "backupName": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000",
+ "name": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-09-06T08:00:00.000Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json
new file mode 100644
index 000000000000..00bf04ee5477
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "databaseName": "testDatabase",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z",
+ "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": null,
+ "backupTime": "2018-08-23T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z",
+ "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": null,
+ "backupTime": "2018-08-30T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z",
+ "name": "2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2018-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase",
+ "databaseDeletionTime": "2018-09-07T08:00:00.000Z",
+ "backupTime": "2018-09-06T08:00:00.000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json
new file mode 100644
index 000000000000..75feefcddfa6
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "locationName": "japaneast",
+ "managedInstanceName": "testInstance",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000",
+ "name": "55555555-6666-7777-8888-999999999999;131637960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase1",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-23T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000",
+ "name": "12341234-1234-1234-1234-123123123123;131657960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase2",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-30T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000",
+ "name": "43214321-4321-4321-4321-321321321321;131667960820000000",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase3",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-09-06T08:00:00.000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json
new file mode 100644
index 000000000000..b058580175d0
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testResourceGroup",
+ "locationName": "japaneast",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance1/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000",
+ "name": "55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance1",
+ "managedInstanceCreateTime": "2017-03-10T08:00:00.000Z",
+ "databaseName": "testDatabase1",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-23T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance2/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000",
+ "name": "12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance2",
+ "managedInstanceCreateTime": "2017-04-10T08:00:00.000Z",
+ "databaseName": "testDatabase2",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-08-30T08:00:00.000Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance3/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000",
+ "name": "43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z",
+ "type": "Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups",
+ "properties": {
+ "managedInstanceName": "testInstance3",
+ "managedInstanceCreateTime": "2017-05-10T08:00:00.000Z",
+ "databaseName": "testDatabase3",
+ "databaseDeletionTime": null,
+ "backupTime": "2017-09-06T08:00:00.000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
index 91220fae3e78..22ddff4cc04e 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
@@ -547,6 +547,20 @@
"description": "Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not.",
"type": "boolean",
"readOnly": true
+ },
+ "rank": {
+ "enum": [
+ "None",
+ "Low",
+ "Medium",
+ "High",
+ "Critical"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SensitivityLabelRank",
+ "modelAsString": false
+ }
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
index bb3861dedda5..a294dcb0128c 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
@@ -195,7 +195,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -223,6 +223,9 @@
},
"Creates a new managed database from restoring a geo-replicated backup": {
"$ref": "./examples/ManagedDatabaseCreateRecovery.json"
+ },
+ "Creates a new managed database from restoring a long term retention backup": {
+ "$ref": "./examples/ManagedDatabaseCreateRestoreLtrBackup.json"
}
}
},
@@ -588,7 +591,8 @@
"Default",
"RestoreExternalBackup",
"PointInTimeRestore",
- "Recovery"
+ "Recovery",
+ "RestoreLongTermRetentionBackup"
],
"type": "string",
"x-ms-enum": {
@@ -638,6 +642,13 @@
"x-ms-mutability": [
"create"
]
+ },
+ "longTermRetentionBackupResourceId": {
+ "description": "The name of the Long Term Retention backup to be used for restore of this managed database.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json
index ebf303d3f715..261d8aad543f 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json
@@ -57,6 +57,52 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "ManagedInstanceOperations"
+ ],
+ "description": "Gets a management operation on a managed instance.",
+ "operationId": "ManagedInstanceOperations_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified managed instance operation.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceOperation"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Gets the managed instance management operation": {
+ "$ref": "./examples/GetManagedInstanceOperation.json"
+ }
+ }
+ }
}
},
"definitions": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
index 787250a313a2..14afdcdb4e85 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
@@ -176,7 +176,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough vCore capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidManagedServerDnsZonePartner - Invalid DNS zone partner resource id specified in properties.\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidManagedServerDnsZonePartner - The resource URI of the geo-primary managed instance specified in the create request is invalid. Please ensure that the property is of the format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/managedInstances/{managedInstanceName}\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -276,7 +276,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough vCore capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -484,6 +484,10 @@
"instancePoolId": {
"description": "The Id of the instance pool this managed server belongs to.",
"type": "string"
+ },
+ "minimalTlsVersion": {
+ "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'",
+ "type": "string"
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
new file mode 100644
index 000000000000..cdd9476a0624
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
@@ -0,0 +1,463 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}": {
+ "get": {
+ "tags": [
+ "ServerAzureADAdministrators"
+ ],
+ "description": "Gets a Azure Active Directory administrator.",
+ "operationId": "ServerAzureADAdministrators_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "administratorName",
+ "in": "path",
+ "description": "The name of server active directory administrator.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "AdministratorName",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified Azure Active Directory administrator.",
+ "schema": {
+ "$ref": "#/definitions/ServerAzureADAdministrator"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Gets a Azure Active Directory administrator.": {
+ "$ref": "./examples/AdministratorGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServerAzureADAdministrators"
+ ],
+ "description": "Creates or updates an existing Azure Active Directory administrator.",
+ "operationId": "ServerAzureADAdministrators_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "administratorName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "AdministratorName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The required parameters for creating or updating an Active Directory Administrator.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerAzureADAdministrator"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated a Azure Active Directory administrator.",
+ "schema": {
+ "$ref": "#/definitions/ServerAzureADAdministrator"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use disableAzureADOnlyAuthentication API instead.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "201": {
+ "description": "Successfully created a Azure Active Directory administrator.",
+ "schema": {
+ "$ref": "#/definitions/ServerAzureADAdministrator"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates or updates an existing Azure Active Directory administrator.": {
+ "$ref": "./examples/AdministratorCreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ServerAzureADAdministrators"
+ ],
+ "description": "Deletes the Azure Active Directory administrator with the given name.",
+ "operationId": "ServerAzureADAdministrators_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "administratorName",
+ "in": "path",
+ "description": "The name of server active directory administrator.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "AdministratorName",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the Azure Active Directory administrator."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "The specified Azure Active Directory administrator does not exist."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Azure Active Directory administrator.": {
+ "$ref": "./examples/AdministratorDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators": {
+ "get": {
+ "tags": [
+ "ServerAzureADAdministrators"
+ ],
+ "description": "Gets a list of Azure Active Directory administrators in a server.",
+ "operationId": "ServerAzureADAdministrators_ListByServer",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Azure Active Directory administrators.",
+ "schema": {
+ "$ref": "#/definitions/AdministratorListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets a list of Azure Active Directory administrator.": {
+ "$ref": "./examples/AdministratorList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disableAzureADOnlyAuthentication": {
+ "post": {
+ "tags": [
+ "ServerAzureADAdministrators"
+ ],
+ "description": "Disables Azure Active Directory only authentication on logical Server.",
+ "operationId": "ServerAzureADAdministrators_DisableAzureADOnlyAuthentication",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully disabled Azure Active Directory only authentication on logical server.",
+ "schema": {
+ "$ref": "#/definitions/ServerAzureADAdministrator"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Disables Azure Active Directory only authentication on logical server.": {
+ "$ref": "./examples/DisableAzureADOnlyAuthUpdate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AdministratorProperties": {
+ "description": "Properties of a active directory administrator.",
+ "required": [
+ "administratorType",
+ "login",
+ "sid"
+ ],
+ "type": "object",
+ "properties": {
+ "administratorType": {
+ "description": "Type of the sever administrator.",
+ "enum": [
+ "ActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AdministratorType",
+ "modelAsString": true
+ }
+ },
+ "login": {
+ "description": "Login name of the server administrator.",
+ "type": "string"
+ },
+ "sid": {
+ "format": "uuid",
+ "description": "SID (object ID) of the server administrator.",
+ "type": "string"
+ },
+ "tenantId": {
+ "format": "uuid",
+ "description": "Tenant ID of the administrator.",
+ "type": "string"
+ },
+ "azureADOnlyAuthentication": {
+ "description": "Azure Active Directory only Authentication enabled.",
+ "type": "boolean"
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "ARM proxy resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "ServerAzureADAdministrator": {
+ "description": "Azure Active Directory administrator.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AdministratorProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AdministratorListResult": {
+ "description": "A list of active directory administrators.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerAzureADAdministrator"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManagedInstanceNameParameter": {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobAuditingPolicyNameParameter": {
+ "name": "blobAuditingPolicyName",
+ "in": "path",
+ "description": "The name of the blob auditing policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineInstanceNameParameter": {
+ "name": "sqlVirtualMachineInstanceName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineInstance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineContainerNameParameter": {
+ "name": "sqlVirtualMachineContainerName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineContainer.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VirtualClusterNameParameter": {
+ "name": "virtualClusterName",
+ "in": "path",
+ "description": "The name of the virtual cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
index c84cca5b0c15..8757f3504cb5 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
@@ -457,4 +457,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
index f9a5e78e125d..00c39d002440 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
@@ -436,4 +436,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json
index 24fecde6cb72..045b85a77c88 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json
@@ -940,7 +940,7 @@
"type": "integer"
},
"storageAccountType": {
- "description": "The storage account type used to store backups for this database. The current options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS (GeoRedundantStorage)",
+ "description": "The storage account type used to store backups for this database. Currently the only supported option is GRS (GeoRedundantStorage).",
"enum": [
"GRS",
"LRS",
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json
new file mode 100644
index 000000000000..bf99bf84a0fa
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-4799",
+ "serverName": "sqlcrudtest-6440",
+ "administratorName": "ActiveDirectory",
+ "api-version": "2019-06-01-preview",
+ "name": "ActiveDirectory",
+ "parameters": {
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "azureADOnlyAuthentication": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.Sql/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "azureADOnlyAuthentication": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory",
+ "name": "activeDirectory",
+ "type": "Microsoft.Sql/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "azureADOnlyAuthentication": true
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorDelete.json
new file mode 100644
index 000000000000..d78d90a0566e
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-4799",
+ "serverName": "sqlcrudtest-6440",
+ "administratorName": "ActiveDirectory",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json
new file mode 100644
index 000000000000..52aee36b3f44
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-4799",
+ "serverName": "sqlcrudtest-6440",
+ "administratorName": "ActiveDirectory",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.Sql/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "azureADOnlyAuthentication": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json
new file mode 100644
index 000000000000..0fb15a505729
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-4799",
+ "serverName": "sqlcrudtest-6440",
+ "administratorName": "ActiveDirectory",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.Sql/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "azureADOnlyAuthentication": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CancelManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CancelManagedInstanceOperation.json
new file mode 100644
index 000000000000..0892244a049d
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CancelManagedInstanceOperation.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operationId": "11111111-1111-1111-1111-111111111111",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json
new file mode 100644
index 000000000000..720ca1e6ae28
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2015-05-01-preview",
+ "parameters": {
+ "name": "server1",
+ "type": "Microsoft.Sql/servers"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "server1",
+ "available": false,
+ "reason": "AlreadyExists",
+ "message": "Specified server name is already used"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerAvailable.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerAvailable.json
new file mode 100644
index 000000000000..233d5552e080
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerAvailable.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2015-05-01-preview",
+ "parameters": {
+ "name": "server1",
+ "type": "Microsoft.Sql/servers"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "server1",
+ "available": true
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerInvalid.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerInvalid.json
new file mode 100644
index 000000000000..0f50fc3c58ae
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CheckNameAvailabilityServerInvalid.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2015-05-01-preview",
+ "parameters": {
+ "name": "SERVER1",
+ "type": "Microsoft.Sql/servers"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "SERVER1",
+ "available": false,
+ "reason": "Invalid",
+ "message": "Specified server name contains unsupported characters or is too long. Server name must be no longer than 63 characters long, contain only lower-case characters or digits, cannot contain '.' or '_' characters and can't start or end with '-' character."
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json
index d89f98a2151c..430ff85d6a46 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json
@@ -51,4 +51,4 @@
},
"202": {}
}
-}
\ No newline at end of file
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json
index 296e14b01fdc..8ed18b6b4979 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json
@@ -46,4 +46,4 @@
},
"202": {}
}
-}
\ No newline at end of file
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json
index 103e231c1edc..2da52a4d965e 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json
@@ -50,4 +50,4 @@
},
"202": {}
}
-}
\ No newline at end of file
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json
index 01253614cba1..13e147257dc3 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json
@@ -47,4 +47,4 @@
},
"202": {}
}
-}
\ No newline at end of file
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DeleteWorkloadGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DeleteWorkloadGroup.json
index 28c1a47ba1a7..49c19d187b34 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DeleteWorkloadGroup.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DeleteWorkloadGroup.json
@@ -4,7 +4,7 @@
"resourceGroupName": "Default-SQL-SouthEastAsia",
"serverName": "testsvr",
"databaseName": "testdb",
- "workloadGroupName": "wlm_workloadgroup",
+ "workloadGroupName": "wlm_workloadgroup",
"api-version": "2019-06-01-preview"
},
"responses": {
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DisableAzureADOnlyAuthUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DisableAzureADOnlyAuthUpdate.json
new file mode 100644
index 000000000000..91bf39fc96a1
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DisableAzureADOnlyAuthUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-4799",
+ "serverName": "sqlcrudtest-6440",
+ "api-version": "2019-06-01-preview",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory",
+ "name": "ActiveDirectory",
+ "type": "Microsoft.Sql/servers/administrators",
+ "properties": {
+ "administratorType": "ActiveDirectory",
+ "login": "bob@contoso.com",
+ "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "tenantId": "d6b82b90-a647-49cb-8a62-0d2d3cb7ac7c",
+ "azureADOnlyAuthentication": false
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json
new file mode 100644
index 000000000000..9f390521b5cb
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operationId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operation": "UpsertManagedServer",
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 100,
+ "startTime": "2019-12-06T11:08:44.49Z",
+ "state": "Cancelled",
+ "isCancellable": false
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-1111-111111111111",
+ "type": "Microsoft.Sql/managedInstances/operations"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json
new file mode 100644
index 000000000000..82409de378c6
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "managedInstanceName": "sqlcrudtest-4645",
+ "api-version": "2018-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operation": "UpsertManagedServer",
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 100,
+ "startTime": "2019-12-06T11:08:44.49Z",
+ "state": "Cancelled",
+ "isCancellable": false
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-1111-111111111111",
+ "type": "Microsoft.Sql/managedInstances/operations"
+ },
+ {
+ "properties": {
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operation": "UpsertManagedServer",
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 50,
+ "startTime": "2019-12-06T11:08:44.49Z",
+ "state": "InProgress",
+ "isCancellable": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.Sql/managedInstances/operations"
+ },
+ {
+ "properties": {
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operation": "UpsertManagedServer",
+ "operationFriendlyName": "UPDATE MANAGED SERVER",
+ "percentComplete": 100,
+ "startTime": "2019-12-06T14:48:34.583Z",
+ "state": "Failed",
+ "errorCode": 45157,
+ "errorDescription": "Server 'sqlcrudtest-4645' is busy with another operation. Please try your operation later.",
+ "errorSeverity": 16,
+ "isUserError": true,
+ "isCancellable": false
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/33333333-3333-3333-3333-333333333333",
+ "name": "33333333-3333-3333-3333-333333333333",
+ "type": "Microsoft.Sql/managedInstances/operations"
+ },
+ {
+ "properties": {
+ "managedInstanceName": "sqlcrudtest-4645",
+ "operation": "MakeAllManagedDatabasesAccessible",
+ "operationFriendlyName": "MAKE ALL MANAGED DBS ACCESSIBLE",
+ "percentComplete": 100,
+ "startTime": "2017-06-01T09:00:08.10Z",
+ "state": "Succeeded"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444",
+ "name": "44444444-4444-4444-4444-444444444444",
+ "type": "Microsoft.Sql/managedInstances/operations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json
new file mode 100644
index 000000000000..4e997a77d0d4
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "Default-SQL-SouthEastAsia",
+ "managedInstanceName": "managedInstance",
+ "databaseName": "managedDatabase",
+ "api-version": "2019-06-01-preview",
+ "parameters": {
+ "properties": {
+ "createMode": "RestoreExternalBackup",
+ "storageContainerUri": "https://myaccountname.blob.core.windows.net/backups",
+ "storageContainerSasToken": "sv=2015-12-11&sr=c&sp=rl&sig=1234",
+ "collation": "SQL_Latin1_General_CP1_CI_AS"
+ },
+ "location": "southeastasia"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "southeastasia",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1",
+ "name": "testdb1",
+ "properties": {
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "status": "Online",
+ "creationDate": "2017-06-07T04:41:33.937Z",
+ "defaultSecondaryLocation": "North Europe"
+ },
+ "type": "Microsoft.Sql/managedInstances/databases"
+ }
+ },
+ "201": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "location": "southeastasia",
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2",
+ "name": "testdb2",
+ "properties": {
+ "collation": "SQL_Latin1_General_CP1_CI_AS",
+ "status": "Online",
+ "creationDate": "2017-06-07T04:41:33.937Z",
+ "defaultSecondaryLocation": "North Europe"
+ },
+ "type": "Microsoft.Sql/managedInstances/databases"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ManagedDatabaseRestoreDetails.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ManagedDatabaseRestoreDetails.json
new file mode 100644
index 000000000000..e9c8c6fa685c
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ManagedDatabaseRestoreDetails.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "Default-SQL-SouthEastAsia",
+ "managedInstanceName": "managedInstance",
+ "databaseName": "testdb",
+ "restoreDetailsName": "Default",
+ "api-version": "2019-06-01-preview",
+ "parameters": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "Restoring",
+ "currentRestoringFileName": "full_0",
+ "percentCompleted": 0.0,
+ "unrestorableFiles": [],
+ "numberOfFilesDetected": 26,
+ "lastUploadedFileName": "log2_3",
+ "lastUploadedFileTime": "2018-06-15T11:38:33Z"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/databases/testdb/restoreDetails/current",
+ "name": "current",
+ "type": "Microsoft.Sql/managedInstances/databases/restoreDetails"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerCreate.json
new file mode 100644
index 000000000000..f57815d10ee6
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerCreate.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "serverName": "sqlcrudtest-4645",
+ "api-version": "2019-06-01-preview",
+ "parameters": {
+ "properties": {
+ "administratorLogin": "dummylogin",
+ "administratorLoginPassword": "Un53cuRE!"
+ },
+ "location": "Japan East"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645",
+ "name": "sqlcrudtest-4645",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645",
+ "name": "sqlcrudtest-4645",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerDelete.json
new file mode 100644
index 000000000000..4227be1f5631
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "serverName": "sqlcrudtest-6661",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerGet.json
new file mode 100644
index 000000000000..0e1f013dc0de
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "serverName": "sqlcrudtest-4645",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645",
+ "name": "sqlcrudtest-4645",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerList.json
new file mode 100644
index 000000000000..0ec3645828c9
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645",
+ "name": "sqlcrudtest-4645",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661",
+ "name": "sqlcrudtest-6661",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-6661.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerListByResourceGroup.json
new file mode 100644
index 000000000000..85c9caac2a56
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "api-version": "2019-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645",
+ "name": "sqlcrudtest-4645",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661",
+ "name": "sqlcrudtest-6661",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-6661.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerUpdate.json
new file mode 100644
index 000000000000..08e1b3c01a55
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ServerUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "sqlcrudtest-7398",
+ "serverName": "sqlcrudtest-4645",
+ "api-version": "2019-06-01-preview",
+ "parameters": {
+ "properties": {
+ "administratorLogin": "dummylogin",
+ "administratorLoginPassword": "Un53cuRE!"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tags": {
+ "tagKey1": "TagValue1"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645",
+ "name": "sqlcrudtest-4645",
+ "type": "Microsoft.Sql/servers",
+ "location": "japaneast",
+ "kind": "v12.0",
+ "properties": {
+ "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net",
+ "administratorLogin": "dummylogin",
+ "version": "12.0",
+ "state": "Ready",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444",
+ "properties": {
+ "provisioningState": "Ready",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
index e31bd7d07691..195dd2b4ce58 100644
--- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
@@ -16,6 +16,62 @@
"application/json"
],
"paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/restoreDetails/{restoreDetailsName}": {
+ "get": {
+ "tags": [
+ "ManagedDatabaseRestoreDetails"
+ ],
+ "description": "Gets managed database restore details.",
+ "operationId": "ManagedDatabaseRestoreDetails_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "restoreDetailsName",
+ "in": "path",
+ "description": "The name of the restore details to retrieve.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "RestoreDetailsName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved restore details.",
+ "schema": {
+ "$ref": "#/definitions/ManagedDatabaseRestoreDetailsResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 MissingThumbprint - Can not find server certificate.\n\n * 400 PartiallyContainedDatabaseUnsupported - \"Backup for a partially contained database is not supported.\"\n\n * 400 RequiredBackupIsNotLastRestored - Migration cannot be completed because provided backup file name is not the name of the last backup file that is restored.\n\n * 400 IncompatiblePhysicalLayoutTooFewDataFiles - Database backup contains incompatible physical layout. No data files are found in the backup.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineDataFilesExist - Database backup contains incompatible physical layout. Non-online data files exist.\n\n * 400 IncompatiblePhysicalLayoutWrongNumberOfLogFiles - Database backup contains incompatible physical layout. Multiple log files are not supported.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineLogFilesExist - Database backup contains incompatible physical layout. Non-online log files exist.\n\n * 400 IncompatiblePhysicalLayoutTooManyNonDataLogFiles - Database backup contains incompatible physical layout. Too many non-data/log files.\n\n * 400 BackupSetNotFound - \"No backups were found to restore the database. Please contact support to restore the database.\n\n * 400 ExternalBackupAlreadySignaledToComplete - The restore request has already been signaled to complete.\n\n * 400 FullBackupNotFound - Full backup can not be found.\n\n * 400 ExternalBackupRestoreHasNotBeenStarted - The restore request can only be completed once the restore has started.\n\n * 400 RestoreFromStripedBackupsNotEnabled - Restoring from striped backups is not supported.\n\n * 400 BrokenRestorePlanNoFullBackup - The restore plan is broken because there is no full backup.\n\n * 400 BrokenRestorePlanWrongLogBackupLSN - The restore plan is broken because firstLsn of current log backup is not <= lastLsn of next log backup.\n\n * 400 BrokenRestorePlanWrongDiffBackupLSN - The restore plan is broken because firstLsn of diff backup is not >= firstLsn of full backup.\n\n * 400 BrokenRestorePlanGapInLogBackups - The restore plan is broken because firstLsn of current log backup is not equal to lastLsn of prev log backup.\n\n * 400 XtpInitializedDuringRestore - Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance.\n\n * 400 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\n\n * 400 ManagedDatabaseNotInRestoringState - Managed database is not in Restoring state."
+ }
+ },
+ "x-ms-examples": {
+ "Managed database restore details.": {
+ "$ref": "./examples/ManagedDatabaseRestoreDetails.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases": {
"get": {
"tags": [
@@ -139,7 +195,7 @@
}
},
"default": {
- "description": "*** Error Responses: ***\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
+ "description": "*** Error Responses: ***\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout."
},
"202": {
"description": "Accepted"
@@ -167,6 +223,9 @@
},
"Creates a new managed database from restoring a geo-replicated backup": {
"$ref": "./examples/ManagedDatabaseCreateRecovery.json"
+ },
+ "Creates a new managed database from restoring a long term retention backup": {
+ "$ref": "./examples/ManagedDatabaseCreateRestoreLtrBackup.json"
}
}
},
@@ -367,6 +426,95 @@
}
},
"definitions": {
+ "ManagedDatabaseRestoreDetailsProperties": {
+ "description": "The managed database's restore details properties.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Restore status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentRestoringFileName": {
+ "description": "Current restoring file name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRestoredFileName": {
+ "description": "Last restored file name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRestoredFileTime": {
+ "format": "date-time",
+ "description": "Last restored file time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentCompleted": {
+ "format": "double",
+ "description": "Percent completed.",
+ "type": "number",
+ "readOnly": true
+ },
+ "unrestorableFiles": {
+ "description": "List of unrestorable files.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "numberOfFilesDetected": {
+ "format": "int64",
+ "description": "Number of files detected.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastUploadedFileName": {
+ "description": "Last uploaded file name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastUploadedFileTime": {
+ "format": "date-time",
+ "description": "Last uploaded file time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "blockReason": {
+ "description": "The reason why restore is in Blocked state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "ARM proxy resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "ManagedDatabaseRestoreDetailsResult": {
+ "description": "A managed database restore details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ManagedDatabaseRestoreDetailsProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
"ManagedDatabaseListResult": {
"description": "A list of managed databases.",
"type": "object",
@@ -463,7 +611,8 @@
"Default",
"RestoreExternalBackup",
"PointInTimeRestore",
- "Recovery"
+ "Recovery",
+ "RestoreLongTermRetentionBackup"
],
"type": "string",
"x-ms-enum": {
@@ -513,6 +662,13 @@
"x-ms-mutability": [
"create"
]
+ },
+ "longTermRetentionBackupResourceId": {
+ "description": "The name of the Long Term Retention backup to be used for restore of this managed database.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
}
}
},
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json
new file mode 100644
index 000000000000..7b425988000e
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json
@@ -0,0 +1,404 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}/cancel": {
+ "post": {
+ "tags": [
+ "ManagedInstanceOperations"
+ ],
+ "description": "Cancels the asynchronous operation on the managed instance.",
+ "operationId": "ManagedInstanceOperations_Cancel",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request for cancel has been executed successfully."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 405 CannotCancelOperation - The management operation is in a state that cannot be cancelled.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation."
+ }
+ },
+ "x-ms-examples": {
+ "Cancel the managed instance management operation": {
+ "$ref": "./examples/CancelManagedInstanceOperation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations": {
+ "get": {
+ "tags": [
+ "ManagedInstanceOperations"
+ ],
+ "description": "Gets a list of operations performed on the managed instance.",
+ "operationId": "ManagedInstanceOperations_ListByManagedInstance",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request for getting managed instance operations has been executed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceOperationListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List the managed instance management operations": {
+ "$ref": "./examples/ListManagedInstanceOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "ManagedInstanceOperations"
+ ],
+ "description": "Gets a management operation on a managed instance.",
+ "operationId": "ManagedInstanceOperations_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedInstanceNameParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified managed instance operation.",
+ "schema": {
+ "$ref": "#/definitions/ManagedInstanceOperation"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Gets the managed instance management operation": {
+ "$ref": "./examples/GetManagedInstanceOperation.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ManagedInstanceOperationListResult": {
+ "description": "The response to a list managed instance operations request",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedInstanceOperation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedInstanceOperationProperties": {
+ "description": "The properties of a managed instance operation.",
+ "type": "object",
+ "properties": {
+ "managedInstanceName": {
+ "description": "The name of the managed instance the operation is being performed on.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The name of operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operationFriendlyName": {
+ "description": "The friendly name of operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "The percentage of the operation completed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The operation start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The operation state.",
+ "enum": [
+ "Pending",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "CancelInProgress",
+ "Cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ManagementOperationState",
+ "modelAsString": true
+ }
+ },
+ "errorCode": {
+ "format": "int32",
+ "description": "The operation error code.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorDescription": {
+ "description": "The operation error description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorSeverity": {
+ "format": "int32",
+ "description": "The operation error severity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "isUserError": {
+ "description": "Whether or not the error is a user error.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "estimatedCompletionTime": {
+ "format": "date-time",
+ "description": "The estimated completion time of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The operation description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isCancellable": {
+ "description": "Whether the operation can be cancelled.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "ARM proxy resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "ManagedInstanceOperation": {
+ "description": "A managed instance operation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ManagedInstanceOperationProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID that identifies an Azure subscription.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to use for the request.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManagedInstanceNameParameter": {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobAuditingPolicyNameParameter": {
+ "name": "blobAuditingPolicyName",
+ "in": "path",
+ "description": "The name of the blob auditing policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineInstanceNameParameter": {
+ "name": "sqlVirtualMachineInstanceName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineInstance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineContainerNameParameter": {
+ "name": "sqlVirtualMachineContainerName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineContainer.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VirtualClusterNameParameter": {
+ "name": "virtualClusterName",
+ "in": "path",
+ "description": "The name of the virtual cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json
new file mode 100644
index 000000000000..1eda90f1b705
--- /dev/null
+++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/servers.json
@@ -0,0 +1,788 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-06-01-preview",
+ "title": "SqlManagementClient",
+ "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Gets a list of servers in a resource groups.",
+ "operationId": "Servers_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of servers.",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List servers by resource group": {
+ "$ref": "./examples/ServerListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Gets a server.",
+ "operationId": "Servers_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified server.",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 404 ResourceNotFound - The requested resource was not found."
+ }
+ },
+ "x-ms-examples": {
+ "Get server": {
+ "$ref": "./examples/ServerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Creates or updates a server.",
+ "operationId": "Servers_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The requested server resource state.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the server.",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "201": {
+ "description": "Successfully created the server.",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create server": {
+ "$ref": "./examples/ServerCreate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Deletes a server.",
+ "operationId": "Servers_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the server."
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "The specified server does not exist."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete server": {
+ "$ref": "./examples/ServerDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Updates a server.",
+ "operationId": "Servers_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The requested server resource state.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the server.",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources."
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a server": {
+ "$ref": "./examples/ServerUpdate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Gets a list of all servers in the subscription.",
+ "operationId": "Servers_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of servers.",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List servers": {
+ "$ref": "./examples/ServerList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Servers"
+ ],
+ "description": "Determines whether a resource can be created with the specified name.",
+ "operationId": "Servers_CheckNameAvailability",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The name availability request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully completed the availability check.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidNameAvailabilityRequest - The check name availability request is invalid.\n\n * 400 UnknownNameType - Unknown resource type specified for a subscription level name availability check."
+ }
+ },
+ "x-ms-examples": {
+ "Check for a server name that already exists": {
+ "$ref": "./examples/CheckNameAvailabilityServerAlreadyExists.json"
+ },
+ "Check for a server name that is available": {
+ "$ref": "./examples/CheckNameAvailabilityServerAvailable.json"
+ },
+ "Check for a server name that is invalid": {
+ "$ref": "./examples/CheckNameAvailabilityServerInvalid.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerListResult": {
+ "description": "A list of servers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Server"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "description": "Azure Active Directory identity configuration for a resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "format": "uuid",
+ "description": "The Azure Active Directory principal id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "format": "uuid",
+ "description": "The Azure Active Directory tenant id.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ServerProperties": {
+ "description": "The properties of a server.",
+ "type": "object",
+ "properties": {
+ "administratorLogin": {
+ "description": "Administrator username for the server. Once created it cannot be changed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "administratorLoginPassword": {
+ "description": "The administrator login password (required for server creation).",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "version": {
+ "description": "The version of the server.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state of the server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fullyQualifiedDomainName": {
+ "description": "The fully qualified domain name of the server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections on a server",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServerPrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "minimalTlsVersion": {
+ "description": "Minimal TLS version. Allowed values: '1.0', '1.1', '1.2'",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ServerPublicNetworkAccess",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ServerPrivateEndpointConnection": {
+ "description": "A private endpoint connection under a server",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Private endpoint connection properties",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "ARM resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection state of the private endpoint connection."
+ },
+ "provisioningState": {
+ "description": "State of the private endpoint connection.",
+ "enum": [
+ "Approving",
+ "Ready",
+ "Dropping",
+ "Failed",
+ "Rejecting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PrivateEndpointProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource id of the private endpoint.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "required": [
+ "status",
+ "description"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStateStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "The private link service connection description.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "The actions required for private link service connection.",
+ "enum": [
+ "None"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStateActionsRequire",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "ARM tracked top level resource.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Resource location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Server": {
+ "description": "An Azure SQL Database server.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The Azure Active Directory identity of the server.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "kind": {
+ "description": "Kind of sql server. This is metadata used for the Azure portal experience.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ServerUpdate": {
+ "description": "An update request for an Azure SQL Database server.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "A request to check whether the specified name for a resource is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "Microsoft.Sql/servers"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CheckNameAvailabilityResourceType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "CheckNameAvailabilityResponse": {
+ "description": "The result of a name availability check.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name whose availability was checked.",
+ "type": "string",
+ "readOnly": true
+ },
+ "available": {
+ "description": "True if the name is available, otherwise false.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason code explaining why the name is unavailable. Will be undefined if the name is available.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CheckNameAvailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "A message explaining why the name is unavailable. Will be undefined if the name is available.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID that identifies an Azure subscription.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to use for the request.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "description": "The name of the server.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManagedInstanceNameParameter": {
+ "name": "managedInstanceName",
+ "in": "path",
+ "description": "The name of the managed instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobAuditingPolicyNameParameter": {
+ "name": "blobAuditingPolicyName",
+ "in": "path",
+ "description": "The name of the blob auditing policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineInstanceNameParameter": {
+ "name": "sqlVirtualMachineInstanceName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineInstance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SqlVirtualMachineContainerNameParameter": {
+ "name": "sqlVirtualMachineContainerName",
+ "in": "path",
+ "description": "The name of the SqlVirtualMachineContainer.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VirtualClusterNameParameter": {
+ "name": "virtualClusterName",
+ "in": "path",
+ "description": "The name of the virtual cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md
index f1dd994be110..0dec1ce04728 100644
--- a/specification/sql/resource-manager/readme.md
+++ b/specification/sql/resource-manager/readme.md
@@ -61,10 +61,11 @@ Differences in v3 (compared to v2):
* `+2017-10-01-preview/elasticPools.json`
+ * `+2018-06-01-preview/capabilities.json`
+
``` yaml $(tag) == 'package-composite-v3'
input-file:
- Microsoft.Sql/stable/2014-04-01/backups.json
-- Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json
- Microsoft.Sql/stable/2014-04-01/connectionPolicies.json
- Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json
- Microsoft.Sql/stable/2014-04-01/dataMasking.json
@@ -83,7 +84,6 @@ input-file:
- Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json
- Microsoft.Sql/preview/2015-05-01-preview/operations.json
- Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json
-- Microsoft.Sql/preview/2015-05-01-preview/servers.json
- Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json
- Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json
- Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json
@@ -108,7 +108,6 @@ input-file:
- Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json
- Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json
- Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json
-- Microsoft.Sql/preview/2017-10-01-preview/capabilities.json
- Microsoft.Sql/preview/2017-10-01-preview/databases.json
- Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json
- Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json
@@ -128,14 +127,18 @@ input-file:
- Microsoft.Sql/preview/2018-06-01-preview/instancePools.json
- Microsoft.Sql/preview/2018-06-01-preview/usages.json
- Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
-- Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json
-- Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json
+- Microsoft.Sql/preview/2019-06-01-preview/servers.json
+- Microsoft.Sql/preview/2018-06-01-preview/capabilities.json
+- Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
+- Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
- Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
- Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+- Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
+- Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
# Needed when there is more than one input file
override-info:
@@ -164,7 +167,6 @@ Differences in v2 (compared to v1):
input-file:
- Microsoft.Sql/stable/2014-04-01/backups.json
- Microsoft.Sql/stable/2014-04-01/capabilities.json
-- Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json
- Microsoft.Sql/stable/2014-04-01/connectionPolicies.json
- Microsoft.Sql/stable/2014-04-01/databases.json
- Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json
@@ -185,7 +187,6 @@ input-file:
- Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json
- Microsoft.Sql/preview/2015-05-01-preview/operations.json
- Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json
-- Microsoft.Sql/preview/2015-05-01-preview/servers.json
- Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json
- Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json
- Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json
@@ -228,14 +229,17 @@ input-file:
- Microsoft.Sql/preview/2018-06-01-preview/instancePools.json
- Microsoft.Sql/preview/2018-06-01-preview/usages.json
- Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
-- Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json
-- Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json
+- Microsoft.Sql/preview/2019-06-01-preview/servers.json
+- Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
+- Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
- Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
- Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+- Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
+- Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
# Needed when there is more than one input file
override-info:
@@ -256,7 +260,6 @@ input-file:
- Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json
- Microsoft.Sql/stable/2014-04-01/backups.json
- Microsoft.Sql/stable/2014-04-01/capabilities.json
-- Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json
- Microsoft.Sql/stable/2014-04-01/connectionPolicies.json
- Microsoft.Sql/stable/2014-04-01/databases.json
- Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json
@@ -277,7 +280,6 @@ input-file:
- Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json
- Microsoft.Sql/preview/2015-05-01-preview/operations.json
- Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json
-- Microsoft.Sql/preview/2015-05-01-preview/servers.json
- Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json
- Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json
- Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json
@@ -319,14 +321,17 @@ input-file:
- Microsoft.Sql/preview/2018-06-01-preview/instancePools.json
- Microsoft.Sql/preview/2018-06-01-preview/usages.json
- Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
-- Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json
- Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
- Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json
-- Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json
+- Microsoft.Sql/preview/2019-06-01-preview/servers.json
+- Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
+- Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
- Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
- Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+- Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
+- Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
# Needed when there is more than one input file
override-info:
@@ -490,8 +495,11 @@ input-file:
- ./Microsoft.Sql/preview/2019-06-01-preview/databases.json
- ./Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
- ./Microsoft.Sql/preview/2019-06-01-preview/serverOperations.json
+ - ./Microsoft.Sql/preview/2019-06-01-preview/servers.json
- ./Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
- ./Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+ - ./Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json
+ - ./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
# Needed when there is more than one input file
override-info:
@@ -523,7 +531,9 @@ input-file:
- ./Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- ./Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
- ./Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json
-
+ - ./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
+ - ./Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
+
# Needed when there is more than one input file
override-info:
title: SqlManagementClient
@@ -791,7 +801,6 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/backups.json
- - $(this-folder)/Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/connectionPolicies.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/dataMasking.json
@@ -810,7 +819,6 @@ input-file:
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/operations.json
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json
- - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/servers.json
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json
@@ -835,7 +843,6 @@ input-file:
- $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json
- $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json
- $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json
- - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/capabilities.json
- $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/databases.json
- $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json
- $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json
@@ -855,14 +862,18 @@ input-file:
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/instancePools.json
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/usages.json
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json
- - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
- $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json
- - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json
+ - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/servers.json
+ - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/capabilities.json
+ - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
+ - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
- $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
- $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+ - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
+ - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/capabilities.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/databases.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/elasticPools.json
@@ -870,8 +881,10 @@ input-file:
- $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionPolicies.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/backupLongTermRetentionVaults.json
+ - $(this-folder)/Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json
- $(this-folder)/Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json
- $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json
+ - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/servers.json
- $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json
- $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json
- $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json
@@ -881,8 +894,11 @@ input-file:
- $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/databases.json
- $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json
- $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/serverOperations.json
+ - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/servers.json
- $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json
- $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json
+ - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json
+ - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json
- $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/DatabaseSecurityAlertPolicies.json
- $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json
- $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json
@@ -896,6 +912,8 @@ input-file:
- $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json
- $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json
- $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json
+ - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json
+ - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json
- $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json
- $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json
- $(this-folder)/./Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json
index 8f187ea9c8d5..d131e422a4bd 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2018-11-01/storage.json
@@ -2202,7 +2202,7 @@
"Lifecycle"
],
"x-ms-enum": {
- "name": "type",
+ "name": "RuleType",
"modelAsString": true
}
},
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json
index cc80de97f8a6..8ce581604c9e 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json
@@ -2319,7 +2319,7 @@
"Lifecycle"
],
"x-ms-enum": {
- "name": "type",
+ "name": "RuleType",
"modelAsString": true
}
},
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json
index cb824822a92b..f865b407ee2e 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json
@@ -923,11 +923,12 @@
"modelAsString": true
},
"description": "The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked."
+ },
+ "allowProtectedAppendWrites": {
+ "type": "boolean",
+ "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API"
}
},
- "required": [
- "immutabilityPeriodSinceCreationInDays"
- ],
"description": "The properties of an ImmutabilityPolicy of a blob container."
},
"ImmutabilityPolicyProperties": {
@@ -1135,13 +1136,25 @@
"$ref": "./common.json#/definitions/DeleteRetentionPolicy",
"description": "The blob service properties for blob soft delete."
},
+ "isVersioningEnabled": {
+ "type": "boolean",
+ "description": "Versioning is enabled if set to true."
+ },
"automaticSnapshotPolicyEnabled": {
"type": "boolean",
- "description": "Automatic Snapshot is enabled if set to true."
+ "description": "Deprecated in favor of isVersioningEnabled property."
},
"changeFeed": {
"$ref": "#/definitions/ChangeFeed",
"description": "The blob service properties for change feed events."
+ },
+ "restorePolicy": {
+ "$ref": "#/definitions/RestorePolicyProperties",
+ "description": "The blob service properties for blob restore policy."
+ },
+ "containerDeleteRetentionPolicy": {
+ "$ref": "./common.json#/definitions/DeleteRetentionPolicy",
+ "description": "The blob service properties for container soft delete."
}
},
"x-ms-client-flatten": true,
@@ -1182,6 +1195,24 @@
},
"description": "The blob service properties for change feed events."
},
+ "RestorePolicyProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Blob restore is enabled if set to true."
+ },
+ "days": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 365,
+ "description": "how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "The blob service properties for blob restore policy"
+ },
"LeaseContainerRequest": {
"properties": {
"action": {
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/common.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/common.json
index 143c8082b56c..3ea0ab53d601 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/common.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/common.json
@@ -5,6 +5,7 @@
"description": "Storage Resource Provider API Common Types",
"version": "2019-06-01"
},
+ "paths": {},
"definitions": {
"CorsRules": {
"properties": {
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersGetImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersGetImmutabilityPolicy.json
index 30ee5585ffb0..bdab4c01cd61 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersGetImmutabilityPolicy.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersGetImmutabilityPolicy.json
@@ -17,6 +17,7 @@
"etag": "\"8d59f828e64b75c\"",
"properties": {
"immutabilityPeriodSinceCreationInDays": 5,
+ "allowProtectedAppendWrites": true,
"state": "Unlocked"
}
}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersPutImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersPutImmutabilityPolicy.json
index 45bacfdedad6..7ede7c161bab 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersPutImmutabilityPolicy.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobContainersPutImmutabilityPolicy.json
@@ -9,7 +9,8 @@
"monitor": "true",
"parameters": {
"properties": {
- "immutabilityPeriodSinceCreationInDays": 3
+ "immutabilityPeriodSinceCreationInDays": 3,
+ "allowProtectedAppendWrites": true
}
}
},
@@ -22,6 +23,7 @@
"etag": "\"8d59f830cb130e5\"",
"properties": {
"immutabilityPeriodSinceCreationInDays": 3,
+ "allowProtectedAppendWrites": true,
"state": "Unlocked"
}
}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobRangesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobRangesRestore.json
new file mode 100644
index 000000000000..4ea6ff6b0787
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobRangesRestore.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res9101",
+ "accountName": "sto4445",
+ "api-version": "2019-06-01",
+ "parameters": {
+ "timeToRestore": "2019-04-20T15:30:00.0000000Z",
+ "blobRanges": [
+ {
+ "startRange": "container/blobpath1",
+ "endRange": "container/blobpath2"
+ },
+ {
+ "startRange": "container2/blobpath3",
+ "endRange": ""
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Complete",
+ "restoreId": "{restore_id}",
+ "parameters": {
+ "timeToRestore": "2019-04-20T15:30:00.0000000Z",
+ "blobRanges": [
+ {
+ "startRange": "container/blobpath1",
+ "endRange": "container/blobpath2"
+ },
+ {
+ "startRange": "container2/blobpath3",
+ "endRange": ""
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "status": "InProgress",
+ "restoreId": "{restore_id}",
+ "parameters": {
+ "timeToRestore": "2019-04-20T15:30:00.0000000Z",
+ "blobRanges": [
+ {
+ "startRange": "container/blobpath1",
+ "endRange": "container/blobpath2"
+ },
+ {
+ "startRange": "container2/blobpath3",
+ "endRange": ""
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesGet.json
index 26f8a731e7b4..eb0995e6f681 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesGet.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesGet.json
@@ -80,7 +80,7 @@
"enabled": true,
"days": 300
},
- "automaticSnapshotPolicyEnabled": true,
+ "isVersioningEnabled": true,
"changeFeed": {
"enabled": true
}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesList.json
index 275aa71d4990..8e7a2d3c59d7 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesList.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesList.json
@@ -81,7 +81,7 @@
"enabled": true,
"days": 300
},
- "automaticSnapshotPolicyEnabled": true,
+ "isVersioningEnabled": true,
"changeFeed": {
"enabled": true
}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesPut.json
index d6bcf2ed6988..7aa8375b133c 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesPut.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/BlobServicesPut.json
@@ -74,7 +74,7 @@
"enabled": true,
"days": 300
},
- "automaticSnapshotPolicyEnabled": true,
+ "isVersioningEnabled": true,
"changeFeed": {
"enabled": true
}
@@ -154,7 +154,7 @@
"enabled": true,
"days": 300
},
- "automaticSnapshotPolicyEnabled": true,
+ "isVersioningEnabled": true,
"changeFeed": {
"enabled": true
}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json
index 830acfa41d1d..6b81e637edb1 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json
@@ -9,13 +9,26 @@
"name": "Standard_GRS"
},
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"properties": {
"isHnsEnabled": true,
"routingPreference": {
"routingChoice": "MicrosoftRouting",
"publishMicrosoftEndpoints": true,
"publishInternetEndpoints": true
+ },
+ "encryption": {
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": true
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": true
+ }
+ },
+ "keySource": "Microsoft.Storage"
}
},
"tags": {
@@ -29,7 +42,7 @@
"body": {
"id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445",
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto4445",
"properties": {
"isHnsEnabled": true,
@@ -63,6 +76,21 @@
"publishMicrosoftEndpoints": true,
"publishInternetEndpoints": true
},
+ "encryption": {
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ }
+ },
+ "keySource": "Microsoft.Storage"
+ },
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
"statusOfSecondary": "available",
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountEncryptionScopeList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountEncryptionScopeList.json
new file mode 100644
index 000000000000..6598e61a94f9
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountEncryptionScopeList.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "resource-group-name",
+ "accountName": "{storage-account-name}",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/scope-1",
+ "name": "scope-1",
+ "type": "Microsoft.Storage/storageAccounts/encryptionScopes",
+ "properties": {
+ "source": "Microsoft.Storage",
+ "state": "Enabled",
+ "creationTime": "2018-10-16T02:42:41.7633306Z",
+ "lastModifiedTime": "2018-10-16T02:42:41.7633306Z"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/scope-2",
+ "name": "scope-2",
+ "type": "Microsoft.Storage/storageAccounts/encryptionScopes",
+ "properties": {
+ "source": "Microsoft.KeyVault",
+ "state": "Enabled",
+ "keyVaultProperties": {
+ "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c"
+ },
+ "creationTime": "2018-10-16T04:32:14.3355306Z",
+ "lastModifiedTime": "2018-10-17T06:23:14.4513306Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetEncryptionScope.json
new file mode 100644
index 000000000000..2ee75db953f9
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetEncryptionScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "resource-group-name",
+ "accountName": "{storage-account-name}",
+ "encryptionScopeName": "{encryption-scope-name}",
+ "api-version": "2019-06-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}",
+ "name": "{encyrption-scope-name}",
+ "type": "Microsoft.Storage/storageAccounts/encryptionScopes",
+ "properties": {
+ "source": "Microsoft.Storage",
+ "state": "Enabled",
+ "creationTime": "2018-10-16T02:42:41.7633306Z",
+ "lastModifiedTime": "2018-10-16T02:42:41.7633306Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetProperties.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetProperties.json
index bc0987aee262..e62be3f3256d 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetProperties.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountGetProperties.json
@@ -56,6 +56,21 @@
"publishMicrosoftEndpoints": true,
"publishInternetEndpoints": true
},
+ "encryption": {
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ }
+ },
+ "keySource": "Microsoft.Storage"
+ },
"secondaryLocation": "northcentralus(stage)",
"statusOfPrimary": "available",
"statusOfSecondary": "available",
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountList.json
index 5205da3e4874..82b08ef0df0f 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountList.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountList.json
@@ -11,7 +11,7 @@
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res2627/providers/Microsoft.Storage/storageAccounts/sto1125",
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto1125",
"properties": {
"isHnsEnabled": true,
@@ -38,13 +38,28 @@
"file": "https://sto1125-internetrouting.file.core.windows.net/"
}
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"routingPreference": {
"routingChoice": "MicrosoftRouting",
"publishMicrosoftEndpoints": true,
"publishInternetEndpoints": true
},
+ "encryption": {
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ }
+ },
+ "keySource": "Microsoft.Storage"
+ },
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
"statusOfSecondary": "available",
@@ -68,7 +83,7 @@
"type": "SystemAssigned"
},
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto3699",
"properties": {
"creationTime": "2017-05-24T10:06:30.6093014Z",
@@ -78,7 +93,7 @@
"queue": "https://sto3699.queue.core.windows.net/",
"table": "https://sto3699.table.core.windows.net/"
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
@@ -103,7 +118,7 @@
"type": "SystemAssigned"
},
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto6637",
"properties": {
"creationTime": "2017-05-24T10:09:39.5625175Z",
@@ -113,7 +128,7 @@
"queue": "https://sto6637.queue.core.windows.net/",
"table": "https://sto6637.table.core.windows.net/"
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
@@ -133,7 +148,7 @@
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res8186/providers/Microsoft.Storage/storageAccounts/sto834",
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto834",
"properties": {
"creationTime": "2017-05-24T13:28:20.8686541Z",
@@ -143,7 +158,7 @@
"queue": "https://sto834.queue.core.windows.net/",
"table": "https://sto834.table.core.windows.net/"
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
@@ -168,7 +183,7 @@
"type": "SystemAssigned"
},
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto9174",
"properties": {
"creationTime": "2017-05-24T09:46:19.6556989Z",
@@ -178,7 +193,7 @@
"queue": "https://sto9174.queue.core.windows.net/",
"table": "https://sto9174.table.core.windows.net/"
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountListByResourceGroup.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountListByResourceGroup.json
index 43f968b9788c..d2161dd9276b 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountListByResourceGroup.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountListByResourceGroup.json
@@ -11,7 +11,7 @@
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4036",
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto4036",
"properties": {
"isHnsEnabled": true,
@@ -24,7 +24,7 @@
"queue": "https://sto4036.queue.core.windows.net/",
"table": "https://sto4036.table.core.windows.net/"
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
@@ -44,7 +44,7 @@
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4452",
"kind": "Storage",
- "location": "eastus2euap",
+ "location": "eastus",
"name": "sto4452",
"properties": {
"creationTime": "2017-05-24T13:24:15.7068366Z",
@@ -54,7 +54,7 @@
"queue": "https://sto4452.queue.core.windows.net/",
"table": "https://sto4452.table.core.windows.net/"
},
- "primaryLocation": "eastus2euap",
+ "primaryLocation": "eastus",
"provisioningState": "Succeeded",
"secondaryLocation": "centraluseuap",
"statusOfPrimary": "available",
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountPatchEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountPatchEncryptionScope.json
new file mode 100644
index 000000000000..4444929ae5fc
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountPatchEncryptionScope.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "resource-group-name",
+ "accountName": "{storage-account-name}",
+ "encryptionScopeName": "{encryption-scope-name}",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "encryptionScope": {
+ "properties": {
+ "source": "Microsoft.KeyVault",
+ "keyVaultProperties": {
+ "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}",
+ "name": "{encryption-scope-name}",
+ "type": "Microsoft.Storage/storageAccounts/encryptionScopes",
+ "properties": {
+ "source": "Microsoft.KeyVault",
+ "state": "Enabled",
+ "keyVaultProperties": {
+ "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c"
+ },
+ "creationTime": "2018-10-16T02:42:41.7633306Z",
+ "lastModifiedTime": "2018-10-17T06:23:14.4513306Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountPutEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountPutEncryptionScope.json
new file mode 100644
index 000000000000..1c3ce2b48d26
--- /dev/null
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountPutEncryptionScope.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "resource-group-name",
+ "accountName": "{storage-account-name}",
+ "encryptionScopeName": "{encryption-scope-name}",
+ "api-version": "2019-06-01",
+ "monitor": "true",
+ "encryptionScope": {}
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}",
+ "name": "{encryption-scope-name}",
+ "type": "Microsoft.Storage/storageAccounts/encryptionScopes",
+ "properties": {
+ "source": "Microsoft.Storage",
+ "state": "Enabled",
+ "creationTime": "2018-10-16T02:42:41.7633306Z",
+ "lastModifiedTime": "2018-10-16T02:42:41.7633306Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}",
+ "name": "{encryption-scope-name}",
+ "type": "Microsoft.Storage/storageAccounts/encryptionScopes",
+ "properties": {
+ "source": "Microsoft.Storage",
+ "state": "Enabled",
+ "creationTime": "2018-10-16T02:42:41.7633306Z",
+ "lastModifiedTime": "2018-10-16T02:42:41.7633306Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json
index 5a09784b26cf..2a64ed59b064 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json
@@ -14,6 +14,19 @@
"routingChoice": "MicrosoftRouting",
"publishMicrosoftEndpoints": true,
"publishInternetEndpoints": true
+ },
+ "encryption": {
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": true
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": true
+ }
+ },
+ "keySource": "Microsoft.Storage"
}
}
}
@@ -63,6 +76,21 @@
"publishMicrosoftEndpoints": true,
"publishInternetEndpoints": true
},
+ "encryption": {
+ "services": {
+ "file": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ },
+ "blob": {
+ "keyType": "Account",
+ "enabled": true,
+ "lastEnabledTime": "2019-12-11T20:49:31.7036140Z"
+ }
+ },
+ "keySource": "Microsoft.Storage"
+ },
"secondaryLocation": "northcentralus(stage)",
"statusOfPrimary": "available",
"statusOfSecondary": "available",
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json
index 0177af0134db..10cc15aa9a7e 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json
@@ -522,8 +522,8 @@
"shareQuota": {
"type": "integer",
"minimum": 1,
- "maximum": 100000,
- "description": "The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 100000."
+ "maximum": 102400,
+ "description": "The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400."
}
},
"description": "The properties of the file share."
diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json
index e457d4b98b7b..45d964fa6ea0 100644
--- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json
+++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json
@@ -226,12 +226,13 @@
},
{
"name": "$expand",
- "description": "May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats.",
+ "description": "May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus.",
"in": "query",
"required": false,
"type": "string",
"enum": [
- "geoReplicationStats"
+ "geoReplicationStats",
+ "blobRestoreStatus"
],
"x-ms-enum": {
"name": "StorageAccountExpand",
@@ -599,7 +600,7 @@
"operationId": "StorageAccounts_Failover",
"description": "Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover.",
"x-ms-examples": {
- "StorageAccountCreate": {
+ "StorageAccountFailover": {
"$ref": "./examples/StorageAccountFailover.json"
}
},
@@ -631,6 +632,61 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges": {
+ "post": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "operationId": "StorageAccounts_RestoreBlobRanges",
+ "description": "Restore blobs in the specified blob ranges",
+ "x-ms-examples": {
+ "BlobRangesRestore": {
+ "$ref": "./examples/BlobRangesRestore.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BlobRestoreParameters"
+ },
+ "description": "The parameters to provide for restore blob ranges."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- returned when blob ranges are restored completely with the same properties specified in the request body.",
+ "schema": {
+ "$ref": "#/definitions/BlobRestoreStatus"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Blob restore request accepted; operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/BlobRestoreStatus"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}": {
"get": {
"tags": [
@@ -967,6 +1023,200 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}": {
+ "put": {
+ "tags": [
+ "EncryptionScopes"
+ ],
+ "operationId": "EncryptionScopes_Put",
+ "description": "Synchronously creates or updates an encryption scope under the specified storage account. If an encryption scope is already created and a subsequent request is issued with different properties, the encryption scope properties will be updated per the specified request.",
+ "x-ms-examples": {
+ "StorageAccountPutEncryptionScope": {
+ "$ref": "./examples/StorageAccountPutEncryptionScope.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EncryptionScopeName"
+ },
+ {
+ "name": "encryptionScope",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EncryptionScope"
+ },
+ "description": "Encryption scope properties to be used for the create or update."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- Create encryption scope operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EncryptionScope"
+ }
+ },
+ "200": {
+ "description": "OK -- Update encryption scope operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EncryptionScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "EncryptionScopes"
+ ],
+ "operationId": "EncryptionScopes_Patch",
+ "description": "Update encryption scope properties as specified in the request body. Update fails if the specified encryption scope does not already exist.",
+ "x-ms-examples": {
+ "StorageAccountPatchEncryptionScope": {
+ "$ref": "./examples/StorageAccountPatchEncryptionScope.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EncryptionScopeName"
+ },
+ {
+ "name": "encryptionScope",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EncryptionScope"
+ },
+ "description": "Encryption scope properties to be used for the update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Update encryption scope operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EncryptionScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EncryptionScopes"
+ ],
+ "operationId": "EncryptionScopes_Get",
+ "description": "Returns the properties for the specified encryption scope.",
+ "x-ms-examples": {
+ "StorageAccountGetEncryptionScope": {
+ "$ref": "./examples/StorageAccountGetEncryptionScope.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EncryptionScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get encryption scope operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EncryptionScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes": {
+ "get": {
+ "tags": [
+ "EncryptionScopes"
+ ],
+ "operationId": "EncryptionScopes_List",
+ "description": "Lists all the encryption scopes available under the specified storage account.",
+ "x-ms-examples": {
+ "StorageAccountEncryptionScopeList": {
+ "$ref": "./examples/StorageAccountEncryptionScopeList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/StorageAccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- List encryption scopes operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EncryptionScopeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
}
},
"definitions": {
@@ -1296,6 +1546,22 @@
"type": "string",
"format": "date-time",
"description": "Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a rough estimate."
+ },
+ "keyType": {
+ "type": "string",
+ "description": "Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.",
+ "enum": [
+ "Service",
+ "Account"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
}
},
"description": "A service that allows server-side encryption to be used."
@@ -1312,12 +1578,10 @@
},
"table": {
"$ref": "#/definitions/EncryptionService",
- "readOnly": true,
"description": "The encryption function of the table storage service."
},
"queue": {
"$ref": "#/definitions/EncryptionService",
- "readOnly": true,
"description": "The encryption function of the queue storage service."
}
},
@@ -1852,6 +2116,40 @@
},
"description": "Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing"
},
+ "BlobRestoreStatus": {
+ "properties": {
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.",
+ "enum": [
+ "InProgress",
+ "Complete",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "BlobRestoreProgressStatus",
+ "modelAsString": true
+ }
+ },
+ "failureReason": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Failure reason when blob restore is failed."
+ },
+ "restoreId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id for tracking blob restore request."
+ },
+ "parameters": {
+ "readOnly": true,
+ "$ref": "#/definitions/BlobRestoreParameters",
+ "description": "Blob restore request parameters."
+ }
+ },
+ "description": "Blob restore status."
+ },
"StorageAccountProperties": {
"properties": {
"provisioningState": {
@@ -2005,6 +2303,12 @@
"$ref": "#/definitions/RoutingPreference",
"x-ms-client-name": "RoutingPreference",
"description": "Maintains information about the network routing choice opted by the user for data transfer"
+ },
+ "blobRestoreStatus": {
+ "$ref": "#/definitions/BlobRestoreStatus",
+ "x-ms-client-name": "BlobRestoreStatus",
+ "description": "Blob restore status",
+ "readOnly": true
}
},
"description": "Properties of the storage account."
@@ -2216,6 +2520,44 @@
},
"description": "The parameters that can be provided when updating the storage account properties."
},
+ "BlobRestoreParameters": {
+ "properties": {
+ "timeToRestore": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore blob to the specified time."
+ },
+ "blobRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BlobRestoreRange"
+ },
+ "description": "Blob ranges to restore."
+ }
+ },
+ "required": [
+ "timeToRestore",
+ "blobRanges"
+ ],
+ "description": "Blob restore parameters"
+ },
+ "BlobRestoreRange": {
+ "properties": {
+ "startRange": {
+ "type": "string",
+ "description": "Blob start range. Empty means account start."
+ },
+ "endRange": {
+ "type": "string",
+ "description": "Blob end range. Empty means account end."
+ }
+ },
+ "required": [
+ "startRange",
+ "endRange"
+ ],
+ "description": "Blob range"
+ },
"UsageName": {
"properties": {
"value": {
@@ -2591,7 +2933,7 @@
"Lifecycle"
],
"x-ms-enum": {
- "name": "type",
+ "name": "RuleType",
"modelAsString": true
}
},
@@ -2854,6 +3196,94 @@
},
"description": "Properties of a private link resource."
},
+ "EncryptionScope": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EncryptionScopeProperties",
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "EncryptionScopeProperties",
+ "description": "Properties of the encryption scope."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Encryption Scope resource."
+ },
+ "EncryptionScopeProperties": {
+ "properties": {
+ "source": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Storage",
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionScopeSource",
+ "modelAsString": true
+ },
+ "description": "The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault."
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionScopeState",
+ "modelAsString": true
+ },
+ "description": "The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled."
+ },
+ "creationTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the creation date and time of the encryption scope in UTC."
+ },
+ "lastModifiedTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the last modification date and time of the encryption scope in UTC."
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/EncryptionScopeKeyVaultProperties",
+ "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'."
+ }
+ },
+ "description": "Properties of the encryption scope."
+ },
+ "EncryptionScopeKeyVaultProperties": {
+ "properties": {
+ "keyUri": {
+ "type": "string",
+ "description": "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope."
+ }
+ },
+ "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'."
+ },
+ "EncryptionScopeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EncryptionScope"
+ },
+ "description": "List of encryption scopes requested.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size.",
+ "readOnly": true
+ }
+ },
+ "description": "List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes."
+ },
"ErrorResponse": {
"properties": {
"code": {
@@ -2912,6 +3342,16 @@
"type": "string",
"description": "The name of the private endpoint connection associated with the Storage Account",
"x-ms-parameter-location": "method"
+ },
+ "EncryptionScopeName": {
+ "name": "encryptionScopeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.",
+ "maxLength": 63,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
}
},
"securityDefinitions": {
diff --git a/specification/storage/resource-manager/readme.cli.md b/specification/storage/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..e86a28f1552a
--- /dev/null
+++ b/specification/storage/resource-manager/readme.cli.md
@@ -0,0 +1,66 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml
+cli:
+ cli-name: storage
+ package-name: azure-mgmt-storage
+ namespace: azure.mgmt.storage
+ test-scenario:
+ - name: StorageAccountCreate
+ - name: PutFileServices
+ - name: PutBlobServices
+ - name: StorageAccountPutEncryptionScope
+ - name: StorageAccountSetManagementPolicies
+ - name: PutShares
+ - name: StorageAccountPutPrivateEndpointConnection
+ - name: PutContainers
+ - name: CreateOrUpdateImmutabilityPolicy
+ - name: GetImmutabilityPolicy
+ - name: GetContainers
+ - name: StorageAccountGetPrivateEndpointConnection
+ - name: GetShares
+ - name: StorageAccountGetManagementPolicies
+ - name: ListContainers
+ - name: StorageAccountGetEncryptionScope
+ - name: ListShares
+ - name: GetBlobServices
+ - name: GetFileServices
+ - name: StorageAccountListPrivateLinkResources
+ - name: StorageAccountEncryptionScopeList
+ - name: ListBlobServices
+ - name: ListFileServices
+ - name: StorageAccountGetProperties
+ - name: StorageAccountListByResourceGroup
+ - name: UsageList
+ - name: StorageAccountList
+ - name: SkuList
+ - name: OperationsList
+ - name: ExtendImmutabilityPolicy
+ - name: LockImmutabilityPolicy
+ - name: ClearLegalHoldContainers
+ - name: SetLegalHoldContainers
+ - name: Break a lease on a container
+ - name: Acquire a lease on a container
+ - name: UpdateContainers
+ - name: UpdateShares
+ - name: StorageAccountPatchEncryptionScope
+ - name: StorageAccountRevokeUserDelegationKeys
+ - name: BlobRangesRestore
+ - name: StorageAccountListServiceSAS
+ - name: StorageAccountListAccountSAS
+ - name: StorageAccountRegenerateKey
+ - name: StorageAccountRegenerateKerbKey
+ - name: StorageAccountListKeys
+ - name: StorageAccountFailover
+ - name: StorageAccountEnableAD
+ - name: StorageAccountUpdate
+ - name: StorageAccountCheckNameAvailability
+ - name: DeleteImmutabilityPolicy
+ - name: DeleteContainers
+ - name: StorageAccountDeletePrivateEndpointConnection
+ - name: DeleteShares
+ - name: StorageAccountDeleteManagementPolicies
+ - name: StorageAccountDelete
+```
\ No newline at end of file
diff --git a/specification/storagesync/resource-manager/readme.cli.md b/specification/storagesync/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c6e953e1d8dd
--- /dev/null
+++ b/specification/storagesync/resource-manager/readme.cli.md
@@ -0,0 +1,49 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: storagesync
+ package-name: azure-mgmt-storagesync
+ namespace: azure.mgmt.storagesync
+ test-scenario:
+ - name: StorageSyncServices_Create
+ - name: SyncGroups_Create
+ - name: RegisteredServers_Create
+ - name: CloudEndpoints_Create
+ - name: ServerEndpoints_Create
+ - name: ServerEndpoints_Get
+ - name: CloudEndpoints_Get
+ - name: ServerEndpoints_ListBySyncGroup
+ - name: CloudEndpoints_ListBySyncGroup
+ - name: RegisteredServers_Get
+ - name: Workflows_Get
+ - name: SyncGroups_Get
+ - name: Workflows_Get
+ - name: RegisteredServers_ListByStorageSyncService
+ - name: SyncGroups_ListByStorageSyncService
+ - name: Workflows_ListByStorageSyncService
+ - name: StorageSyncServices_Get
+ - name: StorageSyncServices_ListByResourceGroup
+ - name: StorageSyncServices_ListBySubscription
+ - name: Operations_List
+ - name: CloudEndpoints_TriggerChangeDetection
+ - name: CloudEndpoints_restoreheartbeat
+ - name: ServerEndpoints_recallAction
+ - name: CloudEndpoints_PostRestore
+ - name: CloudEndpoints_PreRestore
+ - name: CloudEndpoints_PostBackup
+ - name: CloudEndpoints_PreBackup
+ - name: ServerEndpoints_Update
+ - name: RegisteredServers_triggerRollover
+ - name: Workflows_Abort
+ - name: StorageSyncServices_Update
+ - name: StorageSyncServiceCheckNameAvailability_AlreadyExists
+ - name: StorageSyncServiceCheckNameAvailability_Available
+ - name: ServerEndpoints_Delete
+ - name: CloudEndpoints_Delete
+ - name: RegisteredServers_Delete
+ - name: SyncGroups_Delete
+ - name: StorageSyncServices_Delete
+```
\ No newline at end of file
diff --git a/specification/storagesync/resource-manager/readme.go.md b/specification/storagesync/resource-manager/readme.go.md
index 9ec1e5598360..bb2e6da35f00 100644
--- a/specification/storagesync/resource-manager/readme.go.md
+++ b/specification/storagesync/resource-manager/readme.go.md
@@ -13,12 +13,22 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-06-01
- tag: package-2019-02-01
- tag: package-2018-10-01
- tag: package-2018-07-01
- tag: package-2018-04-02
```
+### Tag: package-2019-06-01 and go
+
+These settings apply only when `--tag=package-2019-06-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-06-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-06-01/$(namespace)
+```
+
### Tag: package-2019-02-01 and go
These settings apply only when `--tag=package-2019-02-01 --go` is specified on the command line.
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/cancelSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/cancelSubscription.json
new file mode 100644
index 000000000000..367a5d2157b3
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/cancelSubscription.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createCspSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createCspSubscription.json
new file mode 100644
index 000000000000..cddd146bd79e
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createCspSubscription.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "billingAccountName": "2bc54a6f-8d8a-5be1-5bff-bb4f285f512b:11a72812-d9a4-446e-9a1e-70c8bcadf5c0_2019-05-31",
+ "customerName": "e33ba30d-3718-4b15-bfaa-5627a57cda6f",
+ "api-version": "2019-10-01-preview",
+ "body": {
+ "displayName": "Contoso MCA subscription",
+ "skuId": "0001"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Subscription/subscriptionOperations/MzcwYzI3MDItNjA1MC00NTZkLTgyMTgtZjM0NDcyMjkwMTY0?api-version=2019-10-01-preview",
+ "Retry-After": 8
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/d0d6ee57-6530-4fca-93a6-b755a070be35"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createLegacySubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createLegacySubscription.json
new file mode 100644
index 000000000000..65ad499728a9
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createLegacySubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "enrollmentAccountName": "73f8ab6e-cfa0-42be-b886-be6e77c2980c",
+ "api-version": "2019-10-01-preview",
+ "body": {
+ "offerType": "MS-AZR-0017P",
+ "displayName": "Test Ea Azure Sub",
+ "owners": [
+ {
+ "objectId": "973034ff-acb7-409c-b731-e789672c7b31"
+ },
+ {
+ "objectId": "67439a9e-8519-4016-a630-f5f805eba567"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/providers/Microsoft.Subscription/subscriptionOperations/aeb76128-ebde-4f5a-a9ed-e7bbf2dbc994?api-version=2019-10-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/c03acf6e-5295-44c2-92d3-cb1daa4c701c"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createSubscription.json
new file mode 100644
index 000000000000..84f6fd17ba23
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createSubscription.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "billingAccountName": "0aa27f2b-ec7f-5a65-71f6-a5ff0897bd55:ae0dae1e-de9a-41f6-8257-76b055d98372_2019-05-31",
+ "billingProfileName": "27VR-HDWX-BG7-TGB",
+ "invoiceSectionName": "JGF7-NSBG-PJA-TGB",
+ "api-version": "2019-10-01-preview",
+ "body": {
+ "displayName": "Contoso MCA subscription",
+ "skuId": "0001",
+ "costCenter": "135366376",
+ "owner": {
+ "objectId": "973034ff-acb7-409c-b731-e789672c7b32"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Subscription/subscriptionOperations/ODdmYTU0MDktODc5YS00ZTEzLTg2MWItNTQ4ZjYxNzBlOTQw?api-version=2019-10-01-preview",
+ "Retry-After": 8
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/d0d6ee57-6530-4fca-93a6-b755a070be35"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/enableSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/enableSubscription.json
new file mode 100644
index 000000000000..ce28f7dde170
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/enableSubscription.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "7948bcee-488c-47ce-941c-38e20ede803d",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "7948bcee-488c-47ce-941c-38e20ede803d"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getOperations.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getOperations.json
new file mode 100644
index 000000000000..9dea2e0f8069
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getOperations.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Subscription/createOperation/action",
+ "display": {
+ "provider": "Microsoft Subscription",
+ "resource": "Resources",
+ "operation": "Create a subscription"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getSubscriptionOperation.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getSubscriptionOperation.json
new file mode 100644
index 000000000000..e02979d7545a
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getSubscriptionOperation.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "operationId": "e4b8d068-f574-462a-a76f-6fa0afc613c9",
+ "api-version": "2019-10-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/providers/Microsoft.Subscription/subscriptionOperations/e4b8d068-f574-462a-a76f-6fa0afc613c9?api-version=2019-10-01-preview",
+ "Retry-After": 8
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/4df8d5c2-1b7e-4dd5-bc61-640704bde633"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/renameSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/renameSubscription.json
new file mode 100644
index 000000000000..c673259dde23
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/renameSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "api-version": "2019-10-01-preview",
+ "body": {
+ "SubscriptionName": "Test Sub"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json
new file mode 100644
index 000000000000..a065c890aa85
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json
@@ -0,0 +1,644 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-10-01-preview",
+ "title": "SubscriptionClient",
+ "description": "Subscription client provides an interface to create and manage Azure subscriptions programmatically."
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription": {
+ "post": {
+ "description": "Creates an Azure subscription",
+ "operationId": "Subscription_CreateSubscriptionInEnrollmentAccount",
+ "x-ms-examples": {
+ "createSubscription": {
+ "$ref": "./examples/createLegacySubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query. The response body will contain the data that matches the filters specified in the query parameters.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "enrollmentAccountName",
+ "in": "path",
+ "description": "The name of the enrollment account to which the subscription will be billed.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The subscription creation parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationParameters"
+ }
+ }
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel": {
+ "post": {
+ "operationId": "Subscription_Cancel",
+ "x-ms-examples": {
+ "cancelSubscription": {
+ "$ref": "./examples/cancelSubscription.json"
+ }
+ },
+ "description": "The operation to cancel a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CanceledSubscriptionId"
+ }
+ },
+ "default": {
+ "description": "Describes the error if the operation is not successful.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename": {
+ "post": {
+ "operationId": "Subscription_Rename",
+ "x-ms-examples": {
+ "renameSubscription": {
+ "$ref": "./examples/renameSubscription.json"
+ }
+ },
+ "description": "The operation to rename a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/RenamedSubscriptionId"
+ }
+ },
+ "default": {
+ "description": "Describes the error if the operation is not successful.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable": {
+ "post": {
+ "operationId": "Subscription_Enable",
+ "x-ms-examples": {
+ "enableSubscription": {
+ "$ref": "./examples/enableSubscription.json"
+ }
+ },
+ "description": "The operation to enable a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnabledSubscriptionId"
+ }
+ },
+ "default": {
+ "description": "Describes the error if the operation is not successful.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Subscription/subscriptionOperations/{operationId}": {
+ "get": {
+ "description": "Get the status of the pending Microsoft.Subscription API operations.",
+ "operationId": "SubscriptionOperation_Get",
+ "x-ms-examples": {
+ "getPendingSubscriptionOperations": {
+ "$ref": "./examples/getSubscriptionOperation.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful completion of the asynchronous operation",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription update is in progress.",
+ "headers": {
+ "Location": {
+ "description": "The URL where the status of the asynchronous operation can be checked.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "The operation ID, which can be found from the Location field in the generate recommendation response header.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ]
+ }
+ },
+ "/providers/Microsoft.Subscription/operations": {
+ "get": {
+ "description": "Lists all of the available Microsoft.Subscription API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "getOperations": {
+ "$ref": "./examples/getOperations.json"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Subscription/createSubscription": {
+ "post": {
+ "description": "The operation to create a new WebDirect or EA Azure subscription.",
+ "operationId": "Subscription_CreateSubscription",
+ "x-ms-examples": {
+ "createSubscription": {
+ "$ref": "./examples/createSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query. The response body will contain the data that matches the filters specified in the query parameters.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "billingAccountName",
+ "in": "path",
+ "description": "The name of the Microsoft Customer Agreement billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "billingProfileName",
+ "in": "path",
+ "description": "The name of the billing profile in the billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "invoiceSectionName",
+ "in": "path",
+ "description": "The name of the invoice section in the billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The subscription creation parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModernSubscriptionCreationParameters"
+ }
+ }
+ ]
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/providers/Microsoft.Subscription/createSubscription": {
+ "post": {
+ "description": "The operation to create a new CSP subscription.",
+ "operationId": "Subscription_CreateCspSubscription",
+ "x-ms-examples": {
+ "createSubscription": {
+ "$ref": "./examples/createCspSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query. The response body will contain the data that matches the filters specified in the query parameters.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "billingAccountName",
+ "in": "path",
+ "description": "The name of the Microsoft Customer Agreement billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customerName",
+ "in": "path",
+ "description": "The name of the customer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The subscription creation parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModernCspSubscriptionCreationParameters"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "CanceledSubscriptionId": {
+ "description": "The ID of the canceled subscription",
+ "properties": {
+ "value": {
+ "description": "The ID of the canceled subscription",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RenamedSubscriptionId": {
+ "description": "The ID of the subscriptions that is being renamed",
+ "properties": {
+ "value": {
+ "description": "The ID of the subscriptions that is being renamed",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EnabledSubscriptionId": {
+ "description": "The ID of the subscriptions that is being enabled",
+ "properties": {
+ "value": {
+ "description": "The ID of the subscriptions that is being enabled",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionName": {
+ "type": "object",
+ "description": "The new name of the subscription.",
+ "properties": {
+ "subscriptionName": {
+ "type": "string",
+ "description": "New subscription name"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list 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."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "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.Subscription",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "AdPrincipal": {
+ "description": "Active Directory Principal who’ll get owner access on the new subscription.",
+ "properties": {
+ "objectId": {
+ "description": "Object id of the Principal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectId"
+ ]
+ },
+ "SubscriptionCreationResult": {
+ "description": "The created subscription object.",
+ "properties": {
+ "subscriptionLink": {
+ "description": "The link to the new subscription. Use this link to check the status of subscription creation operation.",
+ "type": "string"
+ }
+ }
+ },
+ "SubscriptionCreationParameters": {
+ "description": "Subscription Creation Parameters required to create a new Azure subscription.",
+ "properties": {
+ "displayName": {
+ "description": "The display name of the subscription.",
+ "type": "string"
+ },
+ "managementGroupId": {
+ "description": "The Management Group Id.",
+ "type": "string"
+ },
+ "owners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdPrincipal"
+ },
+ "description": "The list of principals that should be granted Owner access on the subscription. Principals should be of type User, Service Principal or Security Group."
+ },
+ "offerType": {
+ "description": "The offer type of the subscription. For example, MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement devTest) are available. Only valid when creating a subscription in a enrollment account scope.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "offerType",
+ "modelAsString": true
+ },
+ "enum": [
+ "MS-AZR-0017P",
+ "MS-AZR-0148P"
+ ]
+ }
+ }
+ },
+ "ModernSubscriptionCreationParameters": {
+ "description": "The parameters required to create a new subscription.",
+ "required": [
+ "displayName",
+ "skuId"
+ ],
+ "properties": {
+ "displayName": {
+ "description": "The friendly name of the subscription.",
+ "type": "string"
+ },
+ "skuId": {
+ "description": "The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.",
+ "type": "string"
+ },
+ "costCenter": {
+ "description": "If set, the cost center will show up on the Azure usage and charges file.",
+ "type": "string"
+ },
+ "owner": {
+ "description": "If specified, the AD principal will get owner access to the subscription, along with the user who is performing the create subscription operation",
+ "$ref": "#/definitions/AdPrincipal"
+ },
+ "managementGroupId": {
+ "description": "The identifier of the management group to which this subscription will be associated.",
+ "type": "string"
+ }
+ }
+ },
+ "ModernCspSubscriptionCreationParameters": {
+ "description": "The parameters required to create a new CSP subscription.",
+ "required": [
+ "displayName",
+ "skuId"
+ ],
+ "properties": {
+ "displayName": {
+ "description": "The friendly name of the subscription.",
+ "type": "string"
+ },
+ "skuId": {
+ "description": "The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.",
+ "type": "string"
+ },
+ "resellerId": {
+ "description": "Reseller ID, basically MPN Id.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Current version is 2019-10-01-preview"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription Id."
+ },
+ "subscriptionNameParameter": {
+ "name": "body",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "required": true,
+ "description": "Subscription Name",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionName"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "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/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/cancelSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/cancelSubscription.json
new file mode 100644
index 000000000000..38acbbb4637a
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/cancelSubscription.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createCspSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createCspSubscription.json
new file mode 100644
index 000000000000..b8e1ddd184d8
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createCspSubscription.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "billingAccountName": "2bc54a6f-8d8a-5be1-5bff-bb4f285f512b:11a72812-d9a4-446e-9a1e-70c8bcadf5c0_2019-05-31",
+ "customerName": "e33ba30d-3718-4b15-bfaa-5627a57cda6f",
+ "api-version": "2020-01-01",
+ "body": {
+ "displayName": "Contoso MCA subscription",
+ "skuId": "0001"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Subscription/subscriptionOperations/MzcwYzI3MDItNjA1MC00NTZkLTgyMTgtZjM0NDcyMjkwMTY0?api-version=2019-10-01-preview",
+ "Retry-After": 8
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/d0d6ee57-6530-4fca-93a6-b755a070be35"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createLegacySubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createLegacySubscription.json
new file mode 100644
index 000000000000..fdf321747b3f
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createLegacySubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "enrollmentAccountName": "73f8ab6e-cfa0-42be-b886-be6e77c2980c",
+ "api-version": "2020-01-01",
+ "body": {
+ "offerType": "MS-AZR-0017P",
+ "displayName": "Test Ea Azure Sub",
+ "owners": [
+ {
+ "objectId": "973034ff-acb7-409c-b731-e789672c7b31"
+ },
+ {
+ "objectId": "67439a9e-8519-4016-a630-f5f805eba567"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/providers/Microsoft.Subscription/subscriptionOperations/aeb76128-ebde-4f5a-a9ed-e7bbf2dbc994?api-version=2019-10-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/c03acf6e-5295-44c2-92d3-cb1daa4c701c"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createSubscription.json
new file mode 100644
index 000000000000..386ca4eb02f0
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/createSubscription.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "billingAccountName": "0aa27f2b-ec7f-5a65-71f6-a5ff0897bd55:ae0dae1e-de9a-41f6-8257-76b055d98372_2019-05-31",
+ "billingProfileName": "27VR-HDWX-BG7-TGB",
+ "invoiceSectionName": "JGF7-NSBG-PJA-TGB",
+ "api-version": "2020-01-01",
+ "body": {
+ "displayName": "Contoso MCA subscription",
+ "skuId": "0001",
+ "costCenter": "135366376",
+ "owner": {
+ "objectId": "973034ff-acb7-409c-b731-e789672c7b32"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Subscription/subscriptionOperations/ODdmYTU0MDktODc5YS00ZTEzLTg2MWItNTQ4ZjYxNzBlOTQw?api-version=2020-01-01",
+ "Retry-After": 8
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/d0d6ee57-6530-4fca-93a6-b755a070be35"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/enableSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/enableSubscription.json
new file mode 100644
index 000000000000..e2d81482f487
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/enableSubscription.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "7948bcee-488c-47ce-941c-38e20ede803d",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "7948bcee-488c-47ce-941c-38e20ede803d"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/getOperations.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/getOperations.json
new file mode 100644
index 000000000000..b1d7c5ff53bc
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/getOperations.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Subscription/createOperation/action",
+ "display": {
+ "provider": "Microsoft Subscription",
+ "resource": "Resources",
+ "operation": "Create a subscription"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/getSubscriptionOperation.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/getSubscriptionOperation.json
new file mode 100644
index 000000000000..a257694de003
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/getSubscriptionOperation.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "operationId": "e4b8d068-f574-462a-a76f-6fa0afc613c9",
+ "api-version": "2020-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/providers/Microsoft.Subscription/subscriptionOperations/e4b8d068-f574-462a-a76f-6fa0afc613c9?api-version=2020-01-01",
+ "Retry-After": 8
+ }
+ },
+ "200": {
+ "body": {
+ "subscriptionLink": "/subscriptions/4df8d5c2-1b7e-4dd5-bc61-640704bde633"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/renameSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/renameSubscription.json
new file mode 100644
index 000000000000..b20f7efe943d
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/examples/renameSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad",
+ "api-version": "2020-01-01",
+ "body": {
+ "SubscriptionName": "Test Sub"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad"
+ }
+ }
+ }
+}
diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/subscriptions.json
new file mode 100644
index 000000000000..6bc465c67599
--- /dev/null
+++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-01-01/subscriptions.json
@@ -0,0 +1,640 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-01-01",
+ "title": "SubscriptionClient",
+ "description": "Subscription client provides an interface to create and manage Azure subscriptions programmatically."
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription": {
+ "post": {
+ "description": "Creates an Azure subscription",
+ "operationId": "Subscription_CreateSubscriptionInEnrollmentAccount",
+ "x-ms-examples": {
+ "createSubscription": {
+ "$ref": "./examples/createLegacySubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query. The response body will contain the data that matches the filters specified in the query parameters.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "enrollmentAccountName",
+ "in": "path",
+ "description": "The name of the enrollment account to which the subscription will be billed.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The subscription creation parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationParameters"
+ }
+ }
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel": {
+ "post": {
+ "operationId": "Subscription_Cancel",
+ "x-ms-examples": {
+ "cancelSubscription": {
+ "$ref": "./examples/cancelSubscription.json"
+ }
+ },
+ "description": "The operation to cancel a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CanceledSubscriptionId"
+ }
+ },
+ "default": {
+ "description": "Describes the error if the operation is not successful.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename": {
+ "post": {
+ "operationId": "Subscription_Rename",
+ "x-ms-examples": {
+ "renameSubscription": {
+ "$ref": "./examples/renameSubscription.json"
+ }
+ },
+ "description": "The operation to rename a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/RenamedSubscriptionId"
+ }
+ },
+ "default": {
+ "description": "Describes the error if the operation is not successful.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable": {
+ "post": {
+ "operationId": "Subscription_Enable",
+ "x-ms-examples": {
+ "enableSubscription": {
+ "$ref": "./examples/enableSubscription.json"
+ }
+ },
+ "description": "The operation to enable a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnabledSubscriptionId"
+ }
+ },
+ "default": {
+ "description": "Describes the error if the operation is not successful.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Subscription/subscriptionOperations/{operationId}": {
+ "get": {
+ "description": "Get the status of the pending Microsoft.Subscription API operations.",
+ "operationId": "SubscriptionOperation_Get",
+ "x-ms-examples": {
+ "getPendingSubscriptionOperations": {
+ "$ref": "./examples/getSubscriptionOperation.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful completion of the asynchronous operation",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription update is in progress.",
+ "headers": {
+ "Location": {
+ "description": "The URL where the status of the asynchronous operation can be checked.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "The operation ID, which can be found from the Location field in the generate recommendation response header.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ]
+ }
+ },
+ "/providers/Microsoft.Subscription/operations": {
+ "get": {
+ "description": "Lists all of the available Microsoft.Subscription API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "getOperations": {
+ "$ref": "./examples/getOperations.json"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Subscription/createSubscription": {
+ "post": {
+ "description": "The operation to create a new WebDirect or EA Azure subscription.",
+ "operationId": "Subscription_CreateSubscription",
+ "x-ms-examples": {
+ "createSubscription": {
+ "$ref": "./examples/createSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query. The response body will contain the data that matches the filters specified in the query parameters.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "billingAccountName",
+ "in": "path",
+ "description": "The name of the Microsoft Customer Agreement billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "billingProfileName",
+ "in": "path",
+ "description": "The name of the billing profile in the billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "invoiceSectionName",
+ "in": "path",
+ "description": "The name of the invoice section in the billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The subscription creation parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModernSubscriptionCreationParameters"
+ }
+ }
+ ]
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/providers/Microsoft.Subscription/createSubscription": {
+ "post": {
+ "description": "The operation to create a new CSP subscription.",
+ "operationId": "Subscription_CreateCspSubscription",
+ "x-ms-examples": {
+ "createSubscription": {
+ "$ref": "./examples/createCspSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "responses": {
+ "200": {
+ "description": "Normal response for a successful query. The response body will contain the data that matches the filters specified in the query parameters.",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionCreationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Subscription creation is in progress.",
+ "headers": {
+ "Location": {
+ "description": "GET this URL to retrieve the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "billingAccountName",
+ "in": "path",
+ "description": "The name of the Microsoft Customer Agreement billing account for which you want to create the subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "customerName",
+ "in": "path",
+ "description": "The name of the customer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The subscription creation parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ModernCspSubscriptionCreationParameters"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Describes the format of Error response.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "CanceledSubscriptionId": {
+ "description": "The ID of the canceled subscription",
+ "properties": {
+ "value": {
+ "description": "The ID of the canceled subscription",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RenamedSubscriptionId": {
+ "description": "The ID of the subscriptions that is being renamed",
+ "properties": {
+ "value": {
+ "description": "The ID of the subscriptions that is being renamed",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EnabledSubscriptionId": {
+ "description": "The ID of the subscriptions that is being enabled",
+ "properties": {
+ "value": {
+ "description": "The ID of the subscriptions that is being enabled",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionName": {
+ "type": "object",
+ "description": "The new name of the subscription.",
+ "properties": {
+ "subscriptionName": {
+ "type": "string",
+ "description": "New subscription name"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list 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."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "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.Subscription",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "AdPrincipal": {
+ "description": "Active Directory Principal who’ll get owner access on the new subscription.",
+ "properties": {
+ "objectId": {
+ "description": "Object id of the Principal",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectId"
+ ]
+ },
+ "SubscriptionCreationResult": {
+ "description": "The created subscription object.",
+ "properties": {
+ "subscriptionLink": {
+ "description": "The link to the new subscription. Use this link to check the status of subscription creation operation.",
+ "type": "string"
+ }
+ }
+ },
+ "SubscriptionCreationParameters": {
+ "description": "Subscription Creation Parameters required to create a new Azure subscription.",
+ "properties": {
+ "displayName": {
+ "description": "The display name of the subscription.",
+ "type": "string"
+ },
+ "managementGroupId": {
+ "description": "The Management Group Id.",
+ "type": "string"
+ },
+ "owners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdPrincipal"
+ },
+ "description": "The list of principals that should be granted Owner access on the subscription. Principals should be of type User, Service Principal or Security Group."
+ },
+ "offerType": {
+ "description": "The offer type of the subscription. For example, MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P (EnterpriseAgreement devTest) are available. Only valid when creating a subscription in a enrollment account scope.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "offerType",
+ "modelAsString": true
+ },
+ "enum": [
+ "MS-AZR-0017P",
+ "MS-AZR-0148P"
+ ]
+ }
+ }
+ },
+ "ModernSubscriptionCreationParameters": {
+ "description": "The parameters required to create a new subscription.",
+ "properties": {
+ "displayName": {
+ "description": "The friendly name of the subscription.",
+ "type": "string"
+ },
+ "skuId": {
+ "description": "The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.",
+ "type": "string"
+ },
+ "costCenter": {
+ "description": "If set, the cost center will show up on the Azure usage and charges file.",
+ "type": "string"
+ },
+ "owner": {
+ "description": "If specified, the AD principal will get owner access to the subscription, along with the user who is performing the create subscription operation",
+ "$ref": "#/definitions/AdPrincipal"
+ },
+ "managementGroupId": {
+ "description": "The identifier of the management group to which this subscription will be associated.",
+ "type": "string"
+ }
+ }
+ },
+ "ModernCspSubscriptionCreationParameters": {
+ "description": "The parameters required to create a new CSP subscription.",
+ "required": [
+ "displayName",
+ "skuId"
+ ],
+ "properties": {
+ "displayName": {
+ "description": "The friendly name of the subscription.",
+ "type": "string"
+ },
+ "skuId": {
+ "description": "The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for DevTest.",
+ "type": "string"
+ },
+ "resellerId": {
+ "description": "Reseller ID, basically MPN Id.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Current version is 2020-01-01"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription Id."
+ },
+ "subscriptionNameParameter": {
+ "name": "body",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "required": true,
+ "description": "Subscription Name",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionName"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "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/subscription/resource-manager/readme.cli.md b/specification/subscription/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..44b0463ce090
--- /dev/null
+++ b/specification/subscription/resource-manager/readme.cli.md
@@ -0,0 +1,10 @@
+## CLI
+
+These settings apply only when `--cli` is specified on the command line.
+
+``` yaml $(cli)
+cli:
+ cli-name: account
+ package-name: azure-mgmt-subscription
+ namespace: azure.mgmt.subscription
+```
diff --git a/specification/subscription/resource-manager/readme.md b/specification/subscription/resource-manager/readme.md
index 8f3abce9469e..9a5b70b30c9e 100644
--- a/specification/subscription/resource-manager/readme.md
+++ b/specification/subscription/resource-manager/readme.md
@@ -33,6 +33,29 @@ These are the global settings for the Subscription API.
openapi-type: arm
tag: package-2019-03-preview
```
+
+### Tag: package-2020-01
+
+These settings apply only when `--tag=package-2020-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-01'
+input-file:
+- Microsoft.Subscription/stable/2020-01-01/subscriptions.json
+title: SubscriptionClient
+description: The subscription client
+```
+
+### Tag: package-2019-10-preview
+
+These settings apply only when `--tag=package-2019-10-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-10-preview'
+input-file:
+- Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json
+title: SubscriptionClient
+description: The subscription client
+```
+
### Tag: package-2019-03-preview
These settings apply only when `--tag=package-2019-03-preview` is specified on the command line.
@@ -162,6 +185,8 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Subscription/stable/2020-01-01/subscriptions.json
+ - $(this-folder)/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2019-03-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2018-11-01-preview/subscriptions.json
- $(this-folder)/Microsoft.Subscription/preview/2018-03-01-preview/subscriptions.json
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CheckNameAvailabilityForSupportTicketCommunication.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CheckNameAvailabilityForSupportTicketCommunication.json
new file mode 100644
index 000000000000..6c2f90549a67
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CheckNameAvailabilityForSupportTicketCommunication.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Support/communications"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CheckNameAvailabilityWithSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CheckNameAvailabilityWithSubscription.json
new file mode 100644
index 000000000000..83463e6ada59
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CheckNameAvailabilityWithSubscription.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-05-01-preview",
+ "checkNameAvailabilityInput": {
+ "name": "sampleName",
+ "type": "Microsoft.Support/supportTickets"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "Name is already in use",
+ "message": "Name not available"
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForActiveJobs.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForActiveJobs.json
new file mode 100644
index 000000000000..a6e58cacb32a
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForActiveJobs.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"NewLimit\":200,\"Type\":\"Jobs\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "problemClassificationDisplayName": "Batch",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"NewLimit\":200,\"Type\":\"Jobs\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForDedicatedCores.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForDedicatedCores.json
new file mode 100644
index 000000000000..03342384ce24
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForDedicatedCores.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"VMFamily\":\"standardA0_A7Family\",\"NewLimit\":200,\"Type\":\"Dedicated\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "problemClassificationDisplayName": "Batch",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"VMFamily\":\"standardA0_A7Family\",\"NewLimit\":200,\"Type\":\"Dedicated\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForLowPriorityCores.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForLowPriorityCores.json
new file mode 100644
index 000000000000..ee7b85f5802e
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForLowPriorityCores.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"NewLimit\":200,\"Type\":\"LowPriority\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "problemClassificationDisplayName": "Batch",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"NewLimit\":200,\"Type\":\"LowPriority\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForPools.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForPools.json
new file mode 100644
index 000000000000..28f40e19089a
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSpecificBatchAccountForPools.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"NewLimit\":200,\"Type\":\"Pools\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "problemClassificationDisplayName": "Batch",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"AccountName\":\"test\",\"NewLimit\":200,\"Type\":\"Pools\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSubscription.json
new file mode 100644
index 000000000000..fd47918bd40c
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBatchQuotaTicketForSubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Subscription",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200,\"Type\":\"Account\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/batch_problemClassification_guid",
+ "problemClassificationDisplayName": "Batch",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Subscription",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200,\"Type\":\"Account\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBillingSupportTicketForSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBillingSupportTicketForSubscription.json
new file mode 100644
index 000000000000..d8d1055d4bb9
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateBillingSupportTicketForSubscription.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/billing_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/billing_service_guid/problemClassifications/billing_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/billing_service_guid/problemClassifications/billing_problemClassification_guid",
+ "problemClassificationDisplayName": "Refund request",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/billing_service_guid",
+ "serviceDisplayName": "Billing",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateCoresQuotaTicketForSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateCoresQuotaTicketForSubscription.json
new file mode 100644
index 000000000000..6d59bbde87da
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateCoresQuotaTicketForSubscription.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/cores_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"SKU\":\"DSv3 Series\",\"NewLimit\":104}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/cores_problemClassification_guid",
+ "problemClassificationDisplayName": "Compute-VM (cores-vCPUs) subscription limit increases",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"VmFamily\":\"DSv3 Series\",\"NewLimit\":104}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateMachineLearningQuotaTicketForDedicatedCores.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateMachineLearningQuotaTicketForDedicatedCores.json
new file mode 100644
index 000000000000..b0e7d4d8df28
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateMachineLearningQuotaTicketForDedicatedCores.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/machine_learning_service_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"VMFamily\":\"standardA0_A7Family\",\"NewLimit\":200,\"Type\":\"Dedicated\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/machine_learning_service_problemClassification_guid",
+ "problemClassificationDisplayName": "Machine Learning service",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"VMFamily\":\"standardA0_A7Family\",\"NewLimit\":200,\"Type\":\"Dedicated\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateMachineLearningQuotaTicketForLowPriorityCores.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateMachineLearningQuotaTicketForLowPriorityCores.json
new file mode 100644
index 000000000000..e9f4478570b6
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateMachineLearningQuotaTicketForLowPriorityCores.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/machine_learning_service_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200,\"Type\":\"LowPriority\"}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/machine_learning_service_problemClassification_guid",
+ "problemClassificationDisplayName": "Machine Learning service",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Account",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200,\"Type\":\"LowPriority\"}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatabaseQuotaTicketForDTUs.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatabaseQuotaTicketForDTUs.json
new file mode 100644
index 000000000000..f70134709c9a
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatabaseQuotaTicketForDTUs.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_database_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "DTUs",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"ServerName\":\"testserver\",\"NewLimit\":54000}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_database_problemClassification_guid",
+ "problemClassificationDisplayName": "SQL database",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "DTUs",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"ServerName\":\"testserver\",\"NewLimit\":54000}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatabaseQuotaTicketForServers.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatabaseQuotaTicketForServers.json
new file mode 100644
index 000000000000..b391f86a336a
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatabaseQuotaTicketForServers.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_database_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Servers",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_database_problemClassification_guid",
+ "problemClassificationDisplayName": "SQL database",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Servers",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatawarehouseQuotaTicketForDTUs.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatawarehouseQuotaTicketForDTUs.json
new file mode 100644
index 000000000000..e92f0f01433d
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatawarehouseQuotaTicketForDTUs.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_datawarehouse_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "DTUs",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"ServerName\":\"testserver\",\"NewLimit\":54000}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_datawarehouse_problemClassification_guid",
+ "problemClassificationDisplayName": "SQL Data Warehouse",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "DTUs",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"ServerName\":\"testserver\",\"NewLimit\":54000}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatawarehouseQuotaTicketForServers.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatawarehouseQuotaTicketForServers.json
new file mode 100644
index 000000000000..f7eb838f0fbf
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSqlDatawarehouseQuotaTicketForServers.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_datawarehouse_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Servers",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200}"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_datawarehouse_problemClassification_guid",
+ "problemClassificationDisplayName": "SQL Data Warehouse",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "quotaTicketDetails": {
+ "quotaChangeRequestVersion": "1.0",
+ "quotaChangeRequestSubType": "Servers",
+ "quotaChangeRequests": [
+ {
+ "region": "EastUS",
+ "payload": "{\"NewLimit\":200}"
+ }
+ ]
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/quota_service_guid",
+ "serviceDisplayName": "Service and subscription limits (quotas)",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSubMgmtSupportTicketForSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSubMgmtSupportTicketForSubscription.json
new file mode 100644
index 000000000000..5a2c8cb37926
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSubMgmtSupportTicketForSubscription.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/subscription_management_problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/subscription_management_problemClassification_guid",
+ "problemClassificationDisplayName": "Transfer ownership of my subscription",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "serviceDisplayName": "Subscription management",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSupportTicketCommunication.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSupportTicketCommunication.json
new file mode 100644
index 000000000000..0dda09e77656
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateSupportTicketCommunication.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "communicationName": "testcommunication",
+ "api-version": "2019-05-01-preview",
+ "createCommunicationParameters": {
+ "properties": {
+ "subject": "This is a test message from a customer!",
+ "body": "This is a test message from a customer!",
+ "sender": "user@contoso.com"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testcommunication",
+ "name": "testcommunication",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "This is a test message from a customer!",
+ "body": "This is a test message from a customer!",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "createdDate": "2016-08-24T20:18:19Z",
+ "sender": "user@contoso.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateTechnicalSupportTicketForSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateTechnicalSupportTicketForSubscription.json
new file mode 100644
index 000000000000..655df7e30ff9
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/CreateTechnicalSupportTicketForSubscription.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "createSupportTicketParameters": {
+ "properties": {
+ "serviceId": "/providers/Microsoft.Support/services/cddd3eb5-1830-b494-44fd-782f691479dc",
+ "title": "my title",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/virtual_machine_running_linux_service_guid/problemClassifications/problemClassification_guid",
+ "severity": "moderate",
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredContactMethod": "email",
+ "preferredTimeZone": "Pacific Standard Time",
+ "preferredSupportLanguage": "en-US",
+ "country": "usa"
+ },
+ "technicalTicketDetails": {
+ "resourceId": "/subscriptions/subid/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/testserver"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2019-05-01-preview",
+ "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2019-05-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/virtual_machine_running_linux_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Connectivity / Cannot connect to virtual machine by using RDP or SSH",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "technicalTicketDetails": {
+ "resourceId": "/subscriptions/subid/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/testserver"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/virtual_machine_running_linux_service_guid",
+ "serviceDisplayName": "Virtual Machine running Linux",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetCommunicationDetailsForSubscriptionSupportTicket.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetCommunicationDetailsForSubscriptionSupportTicket.json
new file mode 100644
index 000000000000..bfe3c3e109e9
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetCommunicationDetailsForSubscriptionSupportTicket.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "communicationName": "testmessage",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage",
+ "name": "testmessage",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "this is a test message",
+ "body": "this is a test message",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2016-08-24T20:18:19Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetProblemClassification.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetProblemClassification.json
new file mode 100644
index 000000000000..76ecbb73b061
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetProblemClassification.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "serviceName": "service_guid",
+ "problemClassificationName": "problemClassification_guid",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Support/services/service_guid/problemClassifications/problemClassification_guid",
+ "name": "problemClassification_guid",
+ "type": "Microsoft.Support/problemClassifications",
+ "properties": {
+ "displayName": "Reservation Management / Exchanges and Refunds"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetService.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetService.json
new file mode 100644
index 000000000000..3438c26e605e
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetService.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "service_guid",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Support/services/service_guid",
+ "name": "service_guid",
+ "type": "Microsoft.Support/services",
+ "properties": {
+ "displayName": "Billing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetSubscriptionSupportTicketDetails.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetSubscriptionSupportTicketDetails.json
new file mode 100644
index 000000000000..ac41b1fc8da2
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/GetSubscriptionSupportTicketDetails.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "118032014183770",
+ "description": "This is a test - please ignore",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Add or Edit VAT, TAX ID, or PO Number",
+ "severity": "minimal",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "USA",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "Test - please ignore",
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "serviceDisplayName": "Subscription management",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListCommunicationsForSubscriptionSupportTicket.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListCommunicationsForSubscriptionSupportTicket.json
new file mode 100644
index 000000000000..8302a53195e3
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListCommunicationsForSubscriptionSupportTicket.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage1",
+ "name": "testmessage1",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "this is a test message",
+ "body": "this is a test message",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2016-08-24T20:18:19Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage2",
+ "name": "testmessage2",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "test",
+ "body": "test",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2016-08-29T10:53:19Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListOperations.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListOperations.json
new file mode 100644
index 000000000000..2703ff7bfbf4
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListOperations.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Support/services/read",
+ "display": {
+ "description": "Gets all the Azure services available for support",
+ "operation": "Reads Services",
+ "provider": "Microsoft Support",
+ "resource": "Service"
+ }
+ },
+ {
+ "name": "Microsoft.Support/problemClassifications/read",
+ "display": {
+ "description": "Gets all the problem classifications available for a specific Azure service",
+ "operation": "Reads Problem Classifications",
+ "provider": "Microsoft Support",
+ "resource": "Problem Classification"
+ }
+ },
+ {
+ "name": "Microsoft.Support/supportTickets/read",
+ "display": {
+ "description": "Gets all the support tickets",
+ "operation": "Reads Support Tickets",
+ "provider": "Microsoft Support",
+ "resource": "Support Ticket"
+ }
+ },
+ {
+ "name": "Microsoft.Support/supportTickets/write",
+ "display": {
+ "description": "Updates support ticket",
+ "operation": "Updates support ticket",
+ "provider": "Microsoft Support",
+ "resource": "Support Ticket"
+ }
+ },
+ {
+ "name": "Microsoft.Support/communications/read",
+ "display": {
+ "description": "Gets all the communications",
+ "operation": "Reads Communications",
+ "provider": "Microsoft Support",
+ "resource": "Communication"
+ }
+ },
+ {
+ "name": "Microsoft.Support/communications/write",
+ "display": {
+ "description": "Creates a communication",
+ "operation": "Creates a communication",
+ "provider": "Microsoft Support",
+ "resource": "Communication"
+ }
+ },
+ {
+ "name": "Microsoft.Support/register/action",
+ "display": {
+ "description": "Registers Support Resource Provider",
+ "operation": "Registers Support Resource Provider",
+ "provider": "Registers Support Resource Provider",
+ "resource": "Support Registration"
+ }
+ },
+ {
+ "name": "Microsoft.Support/createSupportTicket/action",
+ "display": {
+ "description": "Creates support ticket",
+ "operation": "Registers Support Resource Provider",
+ "provider": "Microsoft Support",
+ "resource": "SupportTicket"
+ }
+ },
+ {
+ "name": "Microsoft.Support/addCommunication/action",
+ "display": {
+ "description": "Add communication to support ticket",
+ "operation": "Registers Support Resource Provider",
+ "provider": "Microsoft Support",
+ "resource": "Communication"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListProblemClassifications.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListProblemClassifications.json
new file mode 100644
index 000000000000..94202b92b2a8
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListProblemClassifications.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "serviceName": "service_guid",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid/problemClassifications/problemClassification_guid_1",
+ "name": "problemClassification_guid_1",
+ "type": "Microsoft.Support/problemClassifications",
+ "properties": {
+ "displayName": "Reservation Management / Exchanges and Refunds"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid/problemClassifications/problemClassification_guid_2",
+ "name": "problemClassification_guid_2",
+ "type": "Microsoft.Support/problemClassifications",
+ "properties": {
+ "displayName": "Reservation Management / Request Invoices"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid/problemClassifications/problemClassification_guid_3",
+ "name": "problemClassification_guid_3",
+ "type": "Microsoft.Support/problemClassifications",
+ "properties": {
+ "displayName": "Reservation Management / Other Iissues or Requests"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid/problemClassifications/problemClassification_guid_4",
+ "name": "problemClassification_guid_4",
+ "type": "Microsoft.Support/problemClassifications",
+ "properties": {
+ "displayName": "Other General Billing Questions"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListServices.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListServices.json
new file mode 100644
index 000000000000..bb0b3eec08de
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListServices.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid_1",
+ "name": "service_guid_1",
+ "type": "Microsoft.Support/services",
+ "properties": {
+ "displayName": "Billing"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid_2",
+ "name": "service_guid_2",
+ "type": "Microsoft.Support/services",
+ "properties": {
+ "displayName": "Service and subscription limits (quotas)"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid_3",
+ "name": "service_guid_3",
+ "type": "Microsoft.Support/services",
+ "properties": {
+ "displayName": "Subscription management"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Support/services/service_guid_4",
+ "name": "service_guid_4",
+ "type": "Microsoft.Support/services",
+ "properties": {
+ "displayName": "Data Explorer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsBySubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsBySubscription.json
new file mode 100644
index 000000000000..762420ab981e
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsBySubscription.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/virtual_machine_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Connectivity / Cannot connect to virtual machine by using RDP or SSH",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "technicalTicketDetails": {
+ "resourceId": "/subscriptions/subid/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/testserver"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/virtual_machine_service_guid",
+ "serviceDisplayName": "Virtual Machine running Linux",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket2",
+ "name": "testticket2",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "118032014183771",
+ "description": "This is a test - please ignore",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Add or Edit VAT, TAX ID, or PO Number",
+ "severity": "minimal",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "USA",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "Test - please ignore",
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "serviceDisplayName": "Subscription management",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsCreatedOnOrAfterAndInOpenStateBySubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsCreatedOnOrAfterAndInOpenStateBySubscription.json
new file mode 100644
index 000000000000..71c6d838011e
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsCreatedOnOrAfterAndInOpenStateBySubscription.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "$filter": "createdDate ge 2019-12-10T22:08:51Z and status eq 'Open'",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/virtual_machine_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Connectivity / Cannot connect to virtual machine by using RDP or SSH",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "technicalTicketDetails": {
+ "resourceId": "/subscriptions/subid/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/testserver"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2019-12-20T21:36:18Z",
+ "expirationTime": "2019-12-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/virtual_machine_service_guid",
+ "serviceDisplayName": "Virtual Machine running Linux",
+ "status": "Open",
+ "createdDate": "2019-12-20T21:36:18Z",
+ "modifiedDate": "2019-12-20T21:36:23Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket2",
+ "name": "testticket2",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "118032014183771",
+ "description": "This is a test - please ignore",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Add or Edit VAT, TAX ID, or PO Number",
+ "severity": "minimal",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "USA",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2019-12-20T21:36:18Z",
+ "expirationTime": "2019-12-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "Test - please ignore",
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "serviceDisplayName": "Subscription management",
+ "status": "Open",
+ "createdDate": "2019-12-20T21:36:18Z",
+ "modifiedDate": "2019-12-20T21:36:23Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsInOpenStateBySubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsInOpenStateBySubscription.json
new file mode 100644
index 000000000000..b4658f7ac84c
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListSupportTicketsInOpenStateBySubscription.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "$filter": "status eq 'Open'",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "119120321001170",
+ "description": "my description",
+ "problemClassificationId": "/providers/Microsoft.Support/services/virtual_machine_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Connectivity / Cannot connect to virtual machine by using RDP or SSH",
+ "severity": "moderate",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "usa",
+ "preferredSupportLanguage": "en-US"
+ },
+ "technicalTicketDetails": {
+ "resourceId": "/subscriptions/subid/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/testserver"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "my title",
+ "serviceId": "/providers/Microsoft.Support/services/virtual_machine_service_guid",
+ "serviceDisplayName": "Virtual Machine running Linux",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket2",
+ "name": "testticket2",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "118032014183771",
+ "description": "This is a test - please ignore",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Add or Edit VAT, TAX ID, or PO Number",
+ "severity": "minimal",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "USA",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "Test - please ignore",
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "serviceDisplayName": "Subscription management",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListWebCommunicationsForSubscriptionSupportTicket.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListWebCommunicationsForSubscriptionSupportTicket.json
new file mode 100644
index 000000000000..fb0f6506cb86
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListWebCommunicationsForSubscriptionSupportTicket.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "$filter": "communicationType eq 'web'",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage1",
+ "name": "testmessage1",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "this is a test message",
+ "body": "this is a test message",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2016-08-24T20:18:19Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage2",
+ "name": "testmessage2",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "test",
+ "body": "test",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2016-08-29T10:53:19Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListWebCommunicationsForSubscriptionSupportTicketCreatedOnOrAfter.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListWebCommunicationsForSubscriptionSupportTicketCreatedOnOrAfter.json
new file mode 100644
index 000000000000..4df10454017d
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/ListWebCommunicationsForSubscriptionSupportTicketCreatedOnOrAfter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "$filter": "communicationType eq 'web' and createdDate ge 2019-12-10T22:08:51Z",
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage1",
+ "name": "testmessage1",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "this is a test message",
+ "body": "this is a test message",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2019-06-24T20:18:19Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket/communications/testmessage2",
+ "name": "testmessage2",
+ "type": "Microsoft.Support/communications",
+ "properties": {
+ "subject": "test",
+ "body": "test",
+ "communicationType": "web",
+ "communicationDirection": "outbound",
+ "sender": "user@contoso.com",
+ "createdDate": "2019-08-29T10:53:19Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/UpdateSupportTicketForSubscription.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/UpdateSupportTicketForSubscription.json
new file mode 100644
index 000000000000..f2bca05332fe
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/examples/UpdateSupportTicketForSubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "supportTicketName": "testticket",
+ "api-version": "2019-05-01-preview",
+ "updateSupportTicket": {
+ "severity": "critical",
+ "contactDetails": {
+ "firstName": "first name",
+ "lastName": "last name",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "test.name@contoso.com",
+ "additionalEmailAddresses": [
+ "tname@contoso.com",
+ "teamtest@contoso.com"
+ ],
+ "phoneNumber": "123-456-7890",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "USA",
+ "preferredSupportLanguage": "en-US"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket",
+ "name": "testticket",
+ "type": "Microsoft.Support/supportTickets",
+ "properties": {
+ "supportTicketId": "118032014183770",
+ "description": "This is a test - please ignore",
+ "problemClassificationId": "/providers/Microsoft.Support/services/subscription_management_service_guid/problemClassifications/problemClassification_guid",
+ "problemClassificationDisplayName": "Add or Edit VAT, TAX ID, or PO Number",
+ "severity": "critical",
+ "productionOutage": false,
+ "require24X7Response": false,
+ "contactDetails": {
+ "firstName": "abc",
+ "lastName": "xyz",
+ "preferredContactMethod": "email",
+ "primaryEmailAddress": "abc@contoso.com",
+ "preferredTimeZone": "Pacific Standard Time",
+ "country": "USA",
+ "preferredSupportLanguage": "en-US"
+ },
+ "serviceLevelAgreement": {
+ "startTime": "2018-03-20T21:36:18Z",
+ "expirationTime": "2018-03-21T17:36:18Z",
+ "slaMinutes": 240
+ },
+ "supportPlanType": "Premier",
+ "title": "Test - please ignore",
+ "serviceId": "/providers/Microsoft.Support/services/subscription_management_service_guid",
+ "serviceDisplayName": "Subscription management",
+ "status": "Open",
+ "createdDate": "2018-03-20T21:36:18Z",
+ "modifiedDate": "2018-03-20T21:36:23Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/support.json b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/support.json
new file mode 100644
index 000000000000..7f5478e7d80c
--- /dev/null
+++ b/specification/support/resource-manager/Microsoft.Support/preview/2019-05-01-preview/support.json
@@ -0,0 +1,1512 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-05-01-preview",
+ "title": "Microsoft.Support",
+ "description": "Microsoft Azure Support Resource Provider."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "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"
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Support/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This lists all the available Microsoft Support REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Get all operations": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Support/services": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "description": "Lists all the Azure services available for support ticket creation. Here are the Service Ids for **Billing**, **Subscription Management**, and **Service and subscription limits (Quotas)** issues:
For **Technical** issues, select the Service Id that maps to the Azure service/product as displayed in the **Services** drop-down list on the Azure portal's New support request page.
Always use the service and it's corresponding problem classification(s) obtained programmatically for support ticket creation. This practice ensures that you always have the most recent set of service and problem classification Ids.",
+ "operationId": "Services_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved list of Azure services available for support.",
+ "schema": {
+ "$ref": "#/definitions/ServicesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Gets list of services for which a support ticket can be created": {
+ "$ref": "./examples/ListServices.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Support/services/{serviceName}": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "description": "Gets a specific Azure service for support ticket creation.",
+ "operationId": "Services_Get",
+ "parameters": [
+ {
+ "name": "serviceName",
+ "in": "path",
+ "description": "Name of Azure service",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved Azure service for support ticket creation.",
+ "schema": {
+ "$ref": "#/definitions/Service"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets details of Azure service": {
+ "$ref": "./examples/GetService.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Support/services/{serviceName}/problemClassifications": {
+ "get": {
+ "tags": [
+ "ProblemClassifications"
+ ],
+ "description": "Lists all the problem classifications (categories) available for a specific Azure service.
Always use the service and problem classifications obtained programmatically. This practice ensures that you always have the most recent set of service and problem classification Ids.",
+ "operationId": "ProblemClassifications_List",
+ "parameters": [
+ {
+ "name": "serviceName",
+ "in": "path",
+ "description": "Name of Azure service for which the problem classifications need to be retrieved.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved list of problem classifications for the specified Azure service.",
+ "schema": {
+ "$ref": "#/definitions/ProblemClassificationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Gets list of problemClassifications for a service for which a support ticket can be created": {
+ "$ref": "./examples/ListProblemClassifications.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Support/services/{serviceName}/problemClassifications/{problemClassificationName}": {
+ "get": {
+ "tags": [
+ "ProblemClassifications"
+ ],
+ "description": "Gets the details of a specific problem classification for a specific Azure service.",
+ "operationId": "ProblemClassifications_Get",
+ "parameters": [
+ {
+ "name": "serviceName",
+ "in": "path",
+ "description": "Name of Azure service available for support.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "problemClassificationName",
+ "in": "path",
+ "description": "Name of problem classification.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved problem classification details.",
+ "schema": {
+ "$ref": "#/definitions/ProblemClassification"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets details of problemClassification for Azure service": {
+ "$ref": "./examples/GetProblemClassification.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Support/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "SupportTickets"
+ ],
+ "description": "Check the availability of a resource name. This API should to be used to check the uniqueness of the name for support ticket creation for the selected subscription.",
+ "operationId": "SupportTickets_CheckNameAvailability",
+ "x-ms-examples": {
+ "Checks whether name is available for SupportTicket resource": {
+ "$ref": "./examples/CheckNameAvailabilityWithSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "Input to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Support/supportTickets": {
+ "get": {
+ "tags": [
+ "SupportTickets"
+ ],
+ "description": "Lists all the support tickets for an Azure subscription.
You can also filter the support tickets by Status or CreatedDate using the $filter parameter. Output will be a paged result with nextLink, using which you can retrieve the next set of support tickets.
Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.",
+ "operationId": "SupportTickets_List",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "description": "The number of values to return in the collection. Default is 25 and max is 100.",
+ "required": false,
+ "type": "integer"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. We support 'odata v4.0' filter semantics. Learn more Status filter can only be used with 'eq' operator. For CreatedDate filter, the supported operators are 'gt' and 'ge'. When using both filters, combine them using the logical 'AND'."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved support tickets.",
+ "schema": {
+ "$ref": "#/definitions/SupportTicketsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List support tickets for a subscription": {
+ "$ref": "./examples/ListSupportTicketsBySubscription.json"
+ },
+ "List support tickets in open state for a subscription": {
+ "$ref": "./examples/ListSupportTicketsInOpenStateBySubscription.json"
+ },
+ "List support tickets created on or after a certain date and in open state for a subscription": {
+ "$ref": "./examples/ListSupportTicketsCreatedOnOrAfterAndInOpenStateBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Support/supportTickets/{supportTicketName}": {
+ "get": {
+ "tags": [
+ "SupportTickets"
+ ],
+ "description": "Gets details for a specific support ticket in an Azure subscription.
Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.",
+ "operationId": "SupportTickets_Get",
+ "parameters": [
+ {
+ "name": "supportTicketName",
+ "in": "path",
+ "description": "Support ticket name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved support ticket.",
+ "schema": {
+ "$ref": "#/definitions/SupportTicketDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get details of a subscription ticket": {
+ "$ref": "./examples/GetSubscriptionSupportTicketDetails.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SupportTickets"
+ ],
+ "description": "This API allows you to update the severity level or your contact information in the support ticket.
Note: The severity levels cannot be changed if a support ticket is actively being worked upon by an Azure support engineer. In such a case, contact your support engineer to request severity update by adding a new communication using the Communications API.",
+ "operationId": "SupportTickets_Update",
+ "parameters": [
+ {
+ "name": "supportTicketName",
+ "in": "path",
+ "description": "Support ticket name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateSupportTicket",
+ "in": "body",
+ "description": "UpdateSupportTicket object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateSupportTicket"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated support ticket.",
+ "schema": {
+ "$ref": "#/definitions/SupportTicketDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateSupportTicketForSubscription": {
+ "$ref": "./examples/UpdateSupportTicketForSubscription.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SupportTickets"
+ ],
+ "description": "Creates a new support ticket for Quota increase, Technical, Billing, and Subscription Management issues for the specified subscription.
A paid technical support plan is required to create a support ticket using this API. Learn more
Use the Services API to map the right Service Id to the issue type. For example: For billing tickets set *serviceId* to *'/providers/Microsoft.Support/services/517f2da6-78fd-0498-4e22-ad26996b1dfc'*. For Technical issues, the Service id will map to the Azure service you want to raise a support ticket for.
Always call the Services and ProblemClassifications API to get the most recent set of services and problem categories required for support ticket creation.",
+ "operationId": "SupportTickets_Create",
+ "parameters": [
+ {
+ "name": "supportTicketName",
+ "in": "path",
+ "description": "Support ticket name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "createSupportTicketParameters",
+ "in": "body",
+ "description": "Support ticket request payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SupportTicketDetails"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - SupportTicket created successfully",
+ "schema": {
+ "$ref": "#/definitions/SupportTicketDetails"
+ }
+ },
+ "202": {
+ "description": "Accepted, SupportTicket will be created asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create a ticket for Billing related issues": {
+ "$ref": "./examples/CreateBillingSupportTicketForSubscription.json"
+ },
+ "Create a ticket for Subscription Management related issues": {
+ "$ref": "./examples/CreateSubMgmtSupportTicketForSubscription.json"
+ },
+ "Create a ticket for Technical issue related to a specific resource": {
+ "$ref": "./examples/CreateTechnicalSupportTicketForSubscription.json"
+ },
+ "Create a ticket to request Quota increase for Compute VM Cores": {
+ "$ref": "./examples/CreateCoresQuotaTicketForSubscription.json"
+ },
+ "Create a ticket to request Quota increase for Low-priority cores for a Batch account": {
+ "$ref": "./examples/CreateBatchQuotaTicketForSpecificBatchAccountForLowPriorityCores.json"
+ },
+ "Create a ticket to request Quota increase for specific VM family cores for a Batch account": {
+ "$ref": "./examples/CreateBatchQuotaTicketForSpecificBatchAccountForDedicatedCores.json"
+ },
+ "Create a ticket to request Quota increase for Pools for a Batch account": {
+ "$ref": "./examples/CreateBatchQuotaTicketForSpecificBatchAccountForPools.json"
+ },
+ "Create a ticket to request Quota increase for Active Jobs and Job Schedules for a Batch account": {
+ "$ref": "./examples/CreateBatchQuotaTicketForSpecificBatchAccountForActiveJobs.json"
+ },
+ "Create a ticket to request Quota increase for number of Batch accounts for a subscription": {
+ "$ref": "./examples/CreateBatchQuotaTicketForSubscription.json"
+ },
+ "Create a ticket to request Quota increase for DTUs for SQL Database": {
+ "$ref": "./examples/CreateSqlDatabaseQuotaTicketForDTUs.json"
+ },
+ "Create a ticket to request Quota increase for Servers for SQL Database": {
+ "$ref": "./examples/CreateSqlDatabaseQuotaTicketForServers.json"
+ },
+ "Create a ticket to request Quota increase for DTUs for SQL Data Warehouse": {
+ "$ref": "./examples/CreateSqlDatawarehouseQuotaTicketForDTUs.json"
+ },
+ "Create a ticket to request Quota increase for Servers for SQL Data Warehouse": {
+ "$ref": "./examples/CreateSqlDatawarehouseQuotaTicketForServers.json"
+ },
+ "Create a ticket to request Quota increase for specific VM family cores for Machine Learning service": {
+ "$ref": "./examples/CreateMachineLearningQuotaTicketForDedicatedCores.json"
+ },
+ "Create a ticket to request Quota increase for Low-priority cores for Machine Learning service": {
+ "$ref": "./examples/CreateMachineLearningQuotaTicketForLowPriorityCores.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Support/supportTickets/{supportTicketName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Communications"
+ ],
+ "description": "Check the availability of a resource name. This API should to be used to check the uniqueness of the name for adding a new communication to the support ticket.",
+ "operationId": "Communications_CheckNameAvailability",
+ "x-ms-examples": {
+ "Checks whether name is available for Communication resource": {
+ "$ref": "./examples/CheckNameAvailabilityForSupportTicketCommunication.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "supportTicketName",
+ "in": "path",
+ "description": "Support ticket name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "checkNameAvailabilityInput",
+ "in": "body",
+ "description": "Input to check",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Support/supportTickets/{supportTicketName}/communications": {
+ "get": {
+ "tags": [
+ "Communications"
+ ],
+ "description": "Lists all communications (attachments not included) for a support ticket. You can also filter support ticket communications by CreatedDate�or CommunicationType using the $filter parameter. The only type of communication supported today is Web. Output will be a paged result with nextLink, using which you can retrieve the next set of Communication results.